继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

sql 注入越过登录验证实例

Hi刘先森
关注TA
已关注
手记 5
粉丝 4
获赞 204

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

打开App,阅读手记
18人推荐
发表评论
随时随地看视频慕课网APP

热门评论


第一

现在所有的验证登陆都是写过程型语句,调值的时候根本不会这么调

基本网站都会防这种注入 吧

查看全部评论