BurpSuite 最强辅助插件,全自动 SQL 注入6种注入检测算法|v3.3.0更新全面重构
0x01 工具介绍
快速从流量中定位 SQL 注入点,直接决定漏洞挖掘效率。传统扫描工具往往请求量大、误报多、干扰严重,而纯手工测试又耗时费力。DetSql 插件专为 BurpSuite 打造,依托 Montoya API 实现轻量化运行,内置 6 种精准注入检测算法,能在流量中自动识别高风险注入点。DetSql v3.3.0 全面优化架构与判断逻辑,稳定性更强、误报率更低,让你在渗透测试实战中更快出洞,大幅提升渗透测试效率。
注意:现在只对常读和星标的公众号才展示大图推送,建议大家把渗透安全HackTwo“设为星标⭐️“否则可能就看不到了啦!
下载地址在末尾 #渗透安全HackTwo
0x02 功能介绍
✨ 主要特性
主面板(dashboard)

左上显示原始流量,一共 7 列,从左至右依次为序号,从 0 开始;请求来源,proxy 或 repeater,为减少请求,其他模块来源点的请求将忽略;域名,如https://www.baidu.com;请求方式,get或post;URL路径,该路径不包含参数;响应体长度;漏洞提示,如果漏洞提示栏显示空白表示没有漏洞,否则将显示漏洞类型,如errsql,stringsql,多个存在多个类型使用-拼接显示。
在Logger模块中查看扫描流量,选择Extensions类型如下

例子
报错类型页面

order类型页面

数字类型页面

字符类型页面(包含多种类型)

双引号问题
由于双引号闭合的情况出现极少,此处仍在报错类型中保留了双引号的原因,经本人测试出现过双引号报错的情况,因此仍在报错类型保留了双引号,如想自行设置报错payload可在配置面板自行设置。
配置面板(config)

白名单为测试的请求域名,如 baidu.com,192.168.1.2,多个域名使用竖线分隔,不能填 C 段,不填表示测试全
判断方式
为方便叙述使用 value 表示请求的一个参数值,respbody 表示该请求的响应体,value->respbody,表示参数值为 value 时发送请求得到响应体 respbody,以下判断依赖 MySQL,sqlserver,oracle,postgresql 四种数据库某版本测试结果。
1.报错类型判断
-
请求中任一参数值+报错 poc 作为新参数值,即 value+poc,其中 poc 包括:’,%DF’,”,%DF”,`,其中%DF考虑到宽字节,同时增加了 URL 编码的单双引号,在遇到 json 数据时增加了 Unicode 编码的单双引号。
-
生成新请求后发送,响应匹配报错规则,添加了近 100 条正则匹配规则,匹配成功任一规则,即认为存在报错类型注入,标记该参数为 errsql,同时在括号中添加对应的报错正则规则作为备注一起显示,否则认为不存在报错类型注入。
2.数字类型判断
-
当 value 为数字时,且该 value 不为 json 的键值,将发起以下请求判断,否则该 value 将不再判断,
-
原始请求表示为:value->respbody,
-
poc1 请求:value-0-0-0->respbody1,请求完成后使用 Levenshtein 方法判断 respbody 和 respbody1 相似度是否超过 90%,如果不满足认为不存在数字类型的注入,否则将发送下一个请求判断,
-
poc2 请求:value-abc->respbody2,请求完成后使用 Levenshtein 方法判断 respbody2 和 respbody 相似度是否低于 90%并且 respbody2 和 respbody1 相似度也低于 90%,如果都满足即认为存在数字类型注入,标记该参数为 numsql。
3.order 类型注入
-
当 value 不为空时,发起以下请求判断,否则该 value 将不再判断,
-
原始请求表示为:value->respbody,
-
poc1 请求:value,0->respbody1,
-
poc2 请求:value,xxxxxx->respbody2,
-
首先使用 Jaccard 方法判断 respbody 和 respbody1 的相似度低于 90%,若满足继续发送 poc2 请求,判断 respbody 和 respbody2 的相似度低于 90%,若满足继续后续判断,若不满足则直接停止判断,
-
poc3 请求:value,1->respbody3,
-
poc4 请求:value,2->respbody4,
-
先发送 poc3 请求,使用 Jaccard 方法判断 respbody 和 respbody3 的相似度高于 90%,若满足则认为存在 order 类型的注入,若不满足继续发送 poc4 请求判断 respbody 和 respbody4 的相似度是否高于 90%,若满足则认为存在 order 类型的注入,标记该参数为 ordersql,否则认为不存在 order 类型的注入。
4.字符类型注入
-
如果为 json 格式的数据,该键值 value 需被双引号包裹才会发起后续请求判断,否则该 value 将不再判断,
-
原始请求表示为:value->respbody,
-
poc1 请求:value’->respbody1,此处为一个单引号,
-
poc2 请求:value”->respbody2,此处为两个单引号,
-
首先使用 Levenshtein 方法判断 respbody 和 respbody1 的相似度低于 90%,若满足继续发送 poc2 请求,判断 respbody1 和 respbody2 的相似度低于 90%,注意如果原始请求不存在数据 respbody 和 respbody2 的相似度往往较高,如果原始请求存在数据 respbody 和 respbody2 的相似度往往较低,所有此处判断 respbody1 和 respbody2 的相似度。若满足低于 90%继续后续判断,若不满足则直接停止判断,
-
poc3 请求:value’+’->respbody3,此处为两个单引号,
-
poc4 请求:value’||’->respbody4,此处为两个单引号,
-
先发送 poc3 请求,使用 Levenshtein 方法判断 respbody 和 respbody3 的相似度高于 90%,若满足则认为存在字符类型的注入,若不满足继续发送 poc4 请求判断 respbody 和 respbody4 的相似度是否高于 90%,若满足则认为存在字符类型的注入,标记该参数为 stringsql,否则认为不存在字符类型的注入。
5.布尔类型注入
-
如果为 json 格式的数据,该键值 value 需被双引号包裹才会发起后续请求判断,否则该 value 将不再判断,
-
原始请求表示为:value->respbody,
-
poc1 请求:value’||EXP(710)||’->respbody1
-
poc2 请求:value’||EXP(290)||’->respbody2
-
poc3 请求:value’||1/0||’->respbody3
-
poc4 请求:value’||1/1||’->respbody4
-
发送poc1请求,使用 Levenshtein 方法判断respbody和respbody1的相似度低于90%,若满足则继续发送poc2请求,使用 Levenshtein 方法判断respbody1和respbody2的相似度低于90%,若满足则直接发送poc4请求,使用 Levenshtein 方法判断respbody2和respbody4的相似度高于90%,若满足则判断存在布尔类型注入,标记为boolsql。若respbody1和respbody2的相似度高于90%,则发送poc3请求,再使用 Levenshtein 方法判断respbody和respbody3的相似度高于90%,若满足则直接发送poc4请求,使用 Levenshtein 方法判断respbody2和respbody4的相似度高于90%,若满足则判断存在布尔类型注入。
6.附加判断
-
除了前述通过计算相似度作为判断规则外还添加了响应长度的变化阈值作为判断辅助,从而丰富判断依据,例如两个响应长度相同时可直接判断相似度为百分之百,两个响应长度差超过某个值此处设为100,就将辅助判断的相似度定位百分之九十,在判断时如果希望此时的相似度较大(小)时为好,则会选择用算法计算出的相似度和辅助判断的相似度两者中较大(小)者去比较;如果两个响应的长度差很小,这种情况会先将两个字符串前后缀相同部分删除,若删除后的字符串中出现明显为poc的内容,则也会删除,删除后如果两个字符串变为空则判断相似度为100%,一个为空一个不为空则相似度为0,不满足前述情况则再使用算法计算出的相似度去比较。
0x03更新说明
#🏗️ 架构重构代码结构重组按职责划分包结构:config、core、injection、logging、model、ui、util删除根目录下 8 个混杂文件(DetSql.java、MyHttpHandler.java 等)移除过时文件:ThreadSafeAttackMap.java#注入策略模式新增 InjectionStrategy 接口和 AbstractInjectionStrategy 抽象类实现 7 种注入策略:StringInjection、NumericInjection、BooleanInjection、ErrorBasedInjection、OrderByInjection、CustomInjection新增 InjectionStrategyManager 统一管理消除 MyHttpHandler 中 5000+ 行重复代码#✨ 新增功能配置管理ConfigManager:统一配置管理器,支持 YAMLConfigValidator:配置验证器DetSqlYamlConfig:YAML 配置模型支持路径黑名单、域名过滤、参数黑名单...
0x04 使用介绍
📦安装指南
DetSql.jar
0x05 内部VIP星球介绍-V1.4(福利)
如果你想学习更多渗透测试技术/应急溯源/免杀工具/挖洞SRC赚取漏洞赏金/红队打点等欢迎加入我们内部星球可获得内部工具字典和享受内部资源和内部交流群,每天更新1day/0day漏洞刷分上分(2026POC更新至5312+),包含全网一些付费扫描工具及内部原创的Burp自动化漏洞探测插件/漏扫工具等,AI代审工具,最新挖洞技巧等。shadon/Zoomeye/Quake/Fofa高级会员/AI账号/CTFShow等各种账号会员共享。详情点击下方链接了解,觉得价格高的师傅后台回复” 星球 “有优惠券名额有限先到先得❗️啥都有❗️全网资源最新最丰富❗️(🤙截止目前已有2500+多位师傅选择加入❗️早加入早享受)
免责声明
获取方法
公众号回复20260226获取下载
最后必看-免责声明
文章中的案例或工具仅面向合法授权的企业安全建设行为,如您需要测试内容的可用性,请自行搭建靶机环境,勿用于非法行为。如用于其他用途,由使用者承担全部法律及连带责任,与作者和本公众号无关。本项目所有收录的poc均为漏洞的理论判断,不存在漏洞利用过程,不会对目标发起真实攻击和漏洞利用。文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用。如您在使用本工具或阅读文章的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。本工具或文章或来源于网络,若有侵权请联系作者删除,请在24小时内删除,请勿用于商业行为,自行查验是否具有后门,切勿相信软件内的广告!
往期推荐
渗透安全HackTwo
微信号:关注公众号获取
后台回复星球加入:知识星球
扫码关注 了解更多

夜雨聆风
