注意:3.0教学已出,更加高效且自动化,移步Burp 联动AI 一句话漏洞挖掘 3.0 (Claude+BurpMCP+Chrome MCP+src-hunter skills)部署+实战教程 全自动化-彻底解放双手-CSDN博客
前章已经讲述了如何配置Claude+BurpMCP进行漏洞挖掘,但是无法解决BurpMCP无法发送带token的请求包的问题。使用Codex一句话解决。
然后优化后的skills我放在Github上了,自行领取👇
GitHub - MOYANINK/burpmcp-ultra-vuln-triage4 · GitHub
CodeX的skills安装的方法和Claude差不多,放到skills文件夹下即可
本期将会测试CodeX+BurpMCP配置的漏洞挖掘组合
需要自行搭建CodeX环境,这里只会讲怎么配置
BurpMCP的安装可以看上一章:
Burp 联动AI 一句话漏洞挖掘(Claude+BurpMCP)部署+实战教程-CSDN博客
这里不再过多赘述
部署成功是这样子的
CodeX配置:
1.打开:C:\Users\ADMIN\.codex\config.toml
2.在文件末尾追加:
[mcp_servers.burp] url = "http://127.0.0.1:9876" tool_timeout_sec = 120可以通过/MCP的方法检测是否联通
先是使用Pikachu靶场进行练手。
先测试SQL注入靶场:
产生一些数据包
使用claude 测试新的skills的结果
# 应用上线安全初筛报告 **目标**: 192.168.49.151 (pikachu-master) **扫描时间**: 2026-06-06 10:32 (UTC+8) **测试请求总数**: 57 **被动情报发现数**: 0 **数据来源**: BurpMCP-Ultra `sitemap_query` **主动发包方式**: `scripts/auth_replay.py` + Python urllib **Cookie 上下文**: 无额外Cookie注入(未提供 cookie.txt) **技术栈识别结果**: - 后端语言: PHP (X-Powered-By: PHP/5.6.9) - Web 服务器: nginx (Server: nginx/1.15.11) - 数据库: MySQL (通过SQL错误信息确认) - 会话管理: PHPSESSID - 前端/组件: Bootstrap, jQuery, ACE Admin Template, Font Awesome 4.5.0 --- ## 一、高危漏洞(已确认) ### H-001 错误型 SQL 注入 (sqli_str.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_str.php` - **参数/位置**: `name` / query - **认证上下文**: none(无认证测试) - **Payload / 重放方式**: `name=vince'` 触发语法错误 - **证据**: `You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''vince''' at line 1` - **差异指标**: baseline=33338字节, sq_payload=30628字节, 差异=-2710字节 - **判断状态**: `confirmed` - **影响说明**: 攻击者可利用字符串注入检索任意数据库内容,包括用户凭据、配置信息等 - **修复建议**: 对 `name` 参数使用参数化查询,禁止字符串拼接SQL ### H-002 错误型 SQL 注入 (sqli_search.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_search.php` - **参数/位置**: `name` / query - **认证上下文**: none - **Payload / 重放方式**: `name=vince'` 触发语法错误 - **证据**: `SQL syntax...near '%'' at line 1` - **差异指标**: baseline=37267字节, sq_payload=30666字节, 差异=-6601字节 - **判断状态**: `confirmed` - **影响说明**: 同上,搜索功能中的注入可枚举整个数据库内容 - **修复建议**: 参数化查询 ### H-003 错误型 SQL 注入 (sqli_x.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_x.php` - **参数/位置**: `name` / query - **认证上下文**: none - **Payload / 重放方式**: `name=vince'` 触发语法错误 - **证据**: `SQL syntax...near ''vince'')' at line 1` - **差异指标**: baseline=33389字节, sq_payload=30673字节, 差异=-2716字节 - **判断状态**: `confirmed` - **影响说明**: 同上 - **修复建议**: 参数化查询 ### H-004 错误型 SQL 注入 (sqli_del.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_del.php` - **参数/位置**: `id` / query - **认证上下文**: none - **Payload / 重放方式**: `id=115'` 触发语法错误 - **证据**: `SQL syntax...near ''' at line 1` - **差异指标**: baseline=34513字节, sq_payload=30665字节, 差异=-3848字节 - **判断状态**: `confirmed` - **影响说明**: 数字型注入,可能导致数据删除(DELETE操作),已配合 sitemap 中 `id=115` 等历史请求确认为DELETE语句参数 - **修复建议**: 参数化查询,对id参数做严格整数类型校验 ### H-005 时间盲注 SQL 注入 (sqli_blind_b.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_blind_b.php` - **参数/位置**: `name` / query - **认证上下文**: none - **Payload / 重放方式**: `name=vince' AND SLEEP(3)#` - **证据**: stable_blind_sqli.py 3轮验证:baseline中位数=28ms,SLEEP中位数=6063ms,delta>6000ms,3轮全部稳定分离 - **差异指标**: 控制组中位数=36ms,SLEEP组中位数=6063ms(delta≈6027ms),3/3轮确认 - **判断状态**: `confirmed` - **影响说明**: 攻击者可通过时间盲注推断数据库内容,适用于无回显的注入场景 - **修复建议**: 参数化查询 ### H-006 时间盲注 SQL 注入 (sqli_blind_t.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_blind_t.php` - **参数/位置**: `name` / query - **认证上下文**: none - **Payload / 重放方式**: `name=vince' AND SLEEP(3)#` - **证据**: stable_blind_sqli.py 3轮验证:baseline中位数=42ms,SLEEP中位数=6045ms,delta>6000ms,3轮全部稳定分离 - **差异指标**: 控制组中位数=24ms,SLEEP组中位数=6045ms(delta≈6021ms),3/3轮确认 - **判断状态**: `confirmed` - **影响说明**: 同上 - **修复建议**: 参数化查询 ### H-007 时间盲注 SQL 注入 (sqli_id.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_id.php` - **参数/位置**: `id` / query - **认证上下文**: none - **Payload / 重放方式**: `id=1 AND SLEEP(3)` - **证据**: 原始探针:baseline≈1200ms,SLEEP(3)≈10280ms(delta≈9秒);UNION/ORDER BY payloads超时(35s+) - **差异指标**: 基准响应≈1200ms,SLEEP响应≈10280ms,延迟明显 - **判断状态**: `confirmed` - **影响说明**: 数字型参数注入,UNION SELECT超时暗示存在可注入的SELECT语句;SLEEP确认时间盲注 - **修复建议**: 参数化查询,严格类型校验 --- ## 二、中危漏洞 ### M-001 疑似时间盲注 SQL 注入 (sqli_header_login.php) - **端点**: `GET /pikachu-master/pikachu-master/vul/sqli/sqli_header/sqli_header_login.php` - **参数/位置**: `User-Agent` / header - **认证上下文**: none - **Payload / 重放方式**: `User-Agent: test' AND SLEEP(3) AND '1'='1` - **证据**: 首轮快速探针显示baseline=1211ms vs SLEEP=10264ms(差异~9s);但后续重测出现不稳定时序(可能存在连接复用或会话状态影响) - **差异指标**: 快速探针: baseline=1211ms, SLEEP=10264ms; 重测时出现session级时序不稳定 - **判断状态**: `suspected` - **复核建议**: 建议在独立会话环境中重新验证SLEEP payload的时间差 - **修复建议**: Header值同样需要参数化,不应直接拼接到SQL中 --- ## 三、低危漏洞 / 信息泄露 ### L-001 敏感 Cookie 缺乏安全属性 - **端点**: 所有端点 - **对象**: PHPSESSID Cookie - **证据**: `Set-Cookie: PHPSESSID=...; path=/`(无 HttpOnly、Secure、SameSite 属性) - **判断状态**: `confirmed` - **修复建议**: 为 Session Cookie 添加 `HttpOnly; Secure; SameSite=Strict` 属性 --- ## 四、被动敏感信息泄露 (Passive Intel) 本次扫描未发现额外被动情报泄露。 --- ## 五、统计汇总 | 漏洞类型 | 风险等级 | 数量 | | --- | --- | --- | | 错误型 SQL 注入 | 高 | 4 | | 时间盲注 SQL 注入(已确认) | 高 | 3 | | 时间盲注 SQL 注入(疑似) | 中 | 1 | | Cookie 安全属性缺失 | 低 | 1 | **总计**: 高危 7 个,中危 1 个,低危 1 个 --- ## 六、测试说明 - 本报告为针对 pikachu-master DVWA 靶场的授权 SQL 注入专项测试。 - 主动请求来自 BurpMCP-Ultra sitemap_query 数据的重构请求,以及基于已发现端点的衍生探针。 - 未提供 `cookie.txt`,所有测试在无认证上下文中执行。 - 时间盲注 `confirmed` 结论基于 `scripts/stable_blind_sqli.py` 3轮稳定验证。 - sqli_header_login.php 的 `suspected` 状态因测试过程中时序数据不稳定,建议人工独立验证。 --- ## 附录:关键测试 Payload 速查 | 端点 | 参数 | 类型 | 确认Payload | | --- | --- | --- | --- | | sqli_str.php | name | error | `vince'` | | sqli_search.php | name | error | `vince'` | | sqli_x.php | name | error | `vince'` | | sqli_del.php | id | error | `115'` | | sqli_blind_b.php | name | time-blind | `vince' AND SLEEP(3)#` | | sqli_blind_t.php | name | time-blind | `vince' AND SLEEP(3)#` | | sqli_id.php | id | time-blind | `1 AND SLEEP(3)` | | sqli_header_login.php | User-Agent | time-blind (疑似) | `test' AND SLEEP(3) AND '1'='1` |CodeX的结果:
确认 SQL 注入 GET /pikachu-master/pikachu-master/vul/sqli/sqli_str.php 参数: name POST /pikachu-master/pikachu-master/vul/sqli/sqli_id.php 参数: id GET /pikachu-master/pikachu-master/vul/sqli/sqli_search.php 参数: name GET /pikachu-master/pikachu-master/vul/sqli/sqli_x.php 参数: name POST /pikachu-master/pikachu-master/vul/sqli/sqli_iu/sqli_reg.php 参数: username, password, sex, phonenum, email, add GET /pikachu-master/pikachu-master/vul/sqli/sqli_del.php 参数: id 主要证据是单引号/双引号触发 MySQL 报错,例如: You have an error in your SQL syntax SQL syntax.*MySQL 疑似,需要人工复核 POST /pikachu-master/pikachu-master/vul/sqli/sqli_del.php 参数: message 状态: suspected 原因: 布尔 payload 存在响应长度差异,但没有 SQL 报错,也没有稳定时间差;这个接口可能是留言/写入类,存在反射或存储内容导致长度变化的干扰。 未复现 SQL 注入 GET /pikachu-master/pikachu-master/vul/sqli/sqli_iu/sqli_login.php 参数: username, password GET /pikachu-master/pikachu-master/vul/sqli/sqli_iu/sqli_mem.php 参数: logout POST /pikachu-master/pikachu-master/vul/sqli/sqli_header/sqli_header_login.php 参数: username, password GET /pikachu-master/pikachu-master/vul/sqli/sqli_blind_b.php 参数: name GET /pikachu-master/pikachu-master/vul/sqli/sqli_blind_t.php 参数: name POST /pikachu-master/pikachu-master/vul/sqli/sqli_widebyte.php 参数: name使用感受是在Burp找漏洞方面Claude比Codex强一点,不过Codex在Skill编写方面强过Claude