搞安全的都知道,现在大部分网站都装了WAF防火墙,发个and 1=1 立马就被封IP。但最近搞出个Yakit插件,专治各种WAF不服,可以绕过waf检测,实现SQL注入漏洞的一抓一个准!
插件实现了四种主要的SQL注入检测方法,每种方法针对不同场景,具有不同的判断标准:
1. 宽字节组合检测法
原理:向参数添加精心设计的特殊字符组合鎈'"\(这种组合包含Unicode字符、引号和转义符,能有效触发SQL语法错误,触发SQL语法错误。判断逻辑:
- 发送带特殊字符的请求
- 检查响应中是否包含SQL错误消息(如"SQL syntax error"等)
- 如发现错误消息,则确认存在SQL注入漏洞
2. 排序注入检测法(ORDER BY注入)
原理:利用SQL中ORDERBY子句列序号的特性进行注入检测,正常列号会正常排序,无效列号会导致错误。判断逻辑:
1、“原值”与“原值,1”响应长度相同(某些系统ORDER BY 列名和ORDER BY 列名,1可能返回相同内容(默认首列排序))或者不相同
2、“原值,0”响应与“原始值”响应明显不同
3、“原值,0”响应与“原值,1”响应明显不同
4、“原值,999”响应与“原始值”响应明显不同
5、“原值,999”响应与“原值,1”响应明显不同
6、“原值,0”与“原值,999”响应相似(差异≤10)
- 强化异常验证:非法列号(0)和超范围列号(999)必须触发异常响应
- 核心证据链:“原值,0”和“原值,999”的相似错误响应(数据库对非法列号的统一处理)
- 测试四个值:原值、原值,1、原值,0、原值,999
- 满足以下全部条件时判定为排序注入:
3. 数字型注入检测法
原理:针对纯数字参数,利用SQL中的数学运算进行注入检测,相同数值结果应产生相同响应,不同结果应产生不同响应。判断逻辑:
1、"原值"与"原值-0"响应长度相同
2、"原值"与"原值-1"或"原值+1"至少一个响应长度不同
- 先检查参数是否为纯数字
- 测试四个值:原值、原值-0、原值-1、原值+1
- 满足以下条件时判定为数字型注入:
4. 四个单引号判定法
原理:利用SQL解析器对引号配对的处理特性进行检测,偶数个引号能正确闭合,奇数个引号会导致语法错误。判断逻辑:
1、正则判断条件组合:
(1)原值、原值''、原值''''响应完全相同
(2)原值'与原值'''响应长度相似(差异≤10)
(3)正常响应与错误响应明显不同(差异>10)
2、错误检测条件:
(1)原值'或原值'''的响应中发现SQL错误消息
- 测试五个值:原值、原值'、原值''、原值'''、原值''''
- 满足以下任一条件时判定为SQL注入:
- 5. SQL错误消息检测(可以自行添加其他报错信息)
所有方法中都使用了SQL错误消息检测,通过预定义的错误模式列表匹配响应内容:
[
"Microsoft OLE DB Provider for ODBC Drivers error",
"You have an error in your SQL syntax",
"ORA-00933: SQL command not properly ended",
"Microsoft SQL Native Client error",
"Query failed: ERROR: syntax error at or near",
"MySQL Error: 1064",
"mysql error with query",
"SQL syntax error",
"PostgreSQL query failed: ERROR: parser: parse error",
"Warning: mysql_fetch_array",
"Warning: mysql_num_rows",
"Warning: mysql_query",
"Warning: mysql_fetch_assoc",
"Warning: mysql_result"
]
- 6. 流量过滤与去重(支持自定义)
状态码过滤:
文件类型过滤:
请求去重:
- 使用MD5哈希记录已扫描的URL和参数组合
- 防止重复扫描相同目标,提高效率
- 基于文件扩展名过滤(如跳过.js、jpg、png等等文件)
- 专注于可能包含SQL注入的动态页面
- 自动跳过特定HTTP状态码的响应(404、502、301等)
- 减少对无效页面的处理
- 7. 参数处理系统
多种参数类型支持:
参数值提取和处理:
- 自动识别参数类型和位置
- 针对不同参数类型应用不同的测试策略
- URL参数:处理GET请求中的查询参数
- JSON参数:支持JSON格式数据,包括处理双引号和转义字符
- 表单参数:处理POST表单数据
使用插件可实现企业级src的sql注入漏洞检测,想要获取插件的师傅可以加入我的知识星球原价199/年,前50个加入的师傅可享优惠价128/年。
目前星球有:
五款插件:
被动sql注入检测(过部分waf版本—包含盲注检测)
被动sql注入检测(完全过waf版本—不包括盲注)
被动xss扫描优化版(过waf版本)
被动目录扫描好人版
被动ssrf及log4j检测
其他:
yakit使用视频
交流群问题解答
挖到技巧分享
欢迎师傅们加入星球,一起挖漏洞、分享技术、获取插件。星球二维码:
目前星球只运行了一个月时间,插件会一直更新、内容也会不断增加。
插件使用案例——被动sql注入检测(过部分waf版本—包含盲注检测):
全部都是使用插件挖掘的企业src漏洞:
其他师傅的案例:
不管是小白还是在工作的师傅,使用插件都有收获:
零基础的小白:
当天就挖掘到漏洞
参加项目的师傅:
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...