记一次sql挖掘实战(报错注入)

前言:该漏洞已经提交

知识提要:常用报错注入语句updatexml(1,concat(0x7e,(database()),0x7e),1)

updatexml()参数格式:updatexml(xml_document,xpath_string,new_value)

第一个参数:XML的内容
第二个参数:是需要update的位置XPATH路径
第三个参数:是更新后的内容

updatexml()函数第一个和第三个随便写就行,我们报错注入利用的是第二个参数。0x7e的ascll解码后是符号 ~  。concat是用来连接字符串。

concat(0x7e,(database()),0x7e)执行后得到:

~数据库名~

由于updatexml第二个参数需要的是Xpath格式的字符串,~数据库名~格式显然不符合。所以就会出现报错。

一次报错注入漏洞挖掘实战

1、来到登录页面,输入账号:1,密码:111111,点击登录,使用burpsuite抓取登录包

记一次sql挖掘实战(报错注入)_第1张图片

2、抓到的数据包如下:然后送到重发器

记一次sql挖掘实战(报错注入)_第2张图片

 

3、尝试在mobile参数后加单引号 ' ,点击发送数据包

 

4、看到如下返回包中提示sql语句查询出错,所以判断这里存在sql注入

 

5、没有回显位,但是有报错信息,所以使用报错注入。

构造语句:1' and updatexml(1,concat(0x7e,(database()),0x7e),1)#

 

6、点击发送数据包后,可以在响应包中看到爆出数据库名(这里就打码了)

 最后,由于提交漏洞只需爆库名证明漏洞存在即可

所以到这里就结束了。

你可能感兴趣的:(web安全,安全漏洞,信息安全,网络安全)