您的位置:首页 > 编程语言 > Java开发

sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码

2018-01-01 00:36 573 查看
password的字符串中,加上 ' or '1'= '1 就可以制作出万能密码。

原因如下:

原代码中密码是123456



执行数据库查询语句



实际上执行的SQL语句是:

select * from sw_user where username='swift' and password='123456'

这是需要账号密码都正确才能登陆成功

如果有人将密码设置成这样的密码,则成了万能密码,什么样的用户名和密码都会登陆成功,如下图:



就是在任意密码后加上 ' or '1'='1 就可以了,任意账号和密码加上后都可以登陆成功,这是sql数据库的注入,原因是执行的sql语句变成了:



还是上边这条语句,实际上执行的是

select * from sw_user where username='swift' and password='123456' or '1'='1'

后边的or 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐