Burp 联动AI 一句话漏洞挖掘实战教程2(CodeX+BurpMCP)-优化发送带token请求
本文介绍了CodeX+BurpMCP组合进行漏洞挖掘的配置方法,重点对比了CodeX和Claude在SQL注入测试中的表现。作者通过Pikachu靶场测试,展示了两种AI工具检测SQL注入漏洞的结果:Claude检测出6个SQL注入漏洞,包括Error-based、Boolean和Time-based类型;而CodeX虽然能识别部分潜在漏洞,但准确性相对较低。文章指出Claude在漏洞检测方面表现
前章已经讲述了如何配置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
更多推荐



所有评论(0)