ITPub博客

首页 > IT职业 > IT图书 > sql 注入越过登录验证实例

sql 注入越过登录验证实例

IT图书 作者:nintyuui 时间:2021-09-09 08:58:03 0 删除 编辑

根据我们提交的用户名和密码被合成到SQL查询语句当中之后是这样的:select * from users where username='user' and password='password'。很明显,用户名和密码都和我们数据库给出的一样,肯定能够成功登陆。但是,如果我们输入一个错误的用户名或密码呢?很明显,肯定登入不了吧。恩,正常情况下是如此,但是对于有SQL注入漏洞的网站来说,只要构造个特殊的“字符串”,照样能够成功登录。
比如:在用户名输入框中输入:or 1=1#。密码随便输入,这时候的合成后的SQL查询语句为:select * from users where username='' or 1=1#' and password='password'。语义分析:用户名验证肯定为真(1=1),“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了。这样不论你密码输入什么都能登录!(因此需要防止sql语句注册,如何防止,请看下一篇手记:为什么使用PreparedStatement)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3209/viewspace-2798322/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    87
  • 访问量
    15049