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 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧
SQL注入与万能密码
本文介绍了如何通过简单的SQL注入技巧创建万能密码,利用'or 1=1'绕过传统的验证机制,实现任意登录。此方法揭示了数据库安全中的漏洞,并提醒开发者注意SQL查询的安全性。
986

被折叠的 条评论
为什么被折叠?



