为了账号安全,请及时绑定邮箱和手机立即绑定

sql 注入越过登录验证实例

根据我们提交的用户名和密码被合成到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)

点击查看更多内容
18人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
4
获赞与收藏
204

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消