sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码
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 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧
Never waste time any more, Never old man be a yong man