记一次特殊格式数据包加密后的burp与xray联动
字数 1484 2025-08-24 07:48:10
特殊格式数据包加密场景下Burp与Xray联动扫描技术指南
0x00 案例场景分析
问题背景
- 目标系统请求包的body全部采用Base64编码
- Base64解密后的请求数据包格式为JSON键值对结构
- 手动解密、加payload测试效率低下
技术挑战
- 传统扫描工具无法直接处理加密数据包
- Xray无法识别特殊格式的body内容
- 需要在加密传输和明文扫描之间建立桥梁
0x01 解决方案架构
整体流程设计
-
Burp1:负责解密原始请求
- 使用autoDecoder插件进行自动解密
- 将解密后的明文转发给Xray
-
Xray:负责漏洞扫描
- 监听7777端口接收来自Burp1的流量
- 只启用SQL注入检测模块(可根据需要扩展)
- 将扫描后的流量转发给Burp2
-
Burp2:负责重新加密
- 接收Xray处理后的请求
- 将body内容重新Base64编码
- 发送给目标服务器
网络拓扑
客户端 → Burp1(解密) → Xray(扫描) → Burp2(加密) → 目标服务器
0x02 详细配置步骤
1. Burp1配置
autoDecoder插件设置
-
安装autoDecoder插件(感谢f神开发)
-
配置解密接口:
- 在加密接口中编写解密脚本
- 确保能正确处理Base64编码
-
代理设置:
- 配置Burp1将解密后的流量转发到Xray(127.0.0.1:7777)
验证解密功能
- 在Repeater中发送加密数据包
- 通过Burp的Logger查看解密出的明文数据
- 确认JSON格式解析正确
2. Xray配置
基本配置
# xray配置示例
reverse:
db_file_path: "/tmp/xray.db"
plugins:
- name: sqldet
enabled: true
# 其他插件可根据需要启用
http:
listen: "127.0.0.1:7777"
upstream_proxy: "http://127.0.0.1:8081" # 指向Burp2
关键点
- 监听端口设置为7777
- 上游代理指向Burp2的监听端口(默认8081)
- 根据测试需求选择启用插件
3. Burp2配置
主要功能
- 监听Xray的流量(默认8081端口)
- 实现自动加密:
- 使用脚本将body内容Base64编码
- 保持其他请求头不变
加密脚本示例
# 伪代码示例
def process_request(request):
if request.body:
# 确保是JSON格式
json_data = json.loads(request.body)
# 重新Base64编码
encoded_body = base64.b64encode(json.dumps(json_data).encode())
request.body = encoded_body
return request
0x03 数据包格式转换方案
原始数据包问题
- Xray无法识别特殊格式的body内容
- 直接转发会导致数据包结构损坏
解决方案
-
Burp1改造:
- 在autoDecoder中重组数据包body
- 将Base64解码后的JSON转换为Xray可识别的标准格式
-
Burp2改造:
- 接收Xray处理后的标准格式
- 重新转换为原始JSON结构
- 执行Base64编码
数据流转换过程
原始请求(Base64)
→ Burp1解码为JSON
→ Xray扫描标准JSON
→ Burp2重新编码为Base64
→ 目标服务器
0x04 实战测试与验证
测试步骤
-
通过Burp1的Repeater发送加密数据包
-
观察各环节数据包变化:
- Burp1解密后的明文
- Xray接收的格式
- Burp2重新加密的结果
-
验证扫描结果:
- 检查Xray是否成功注入测试payload
- 确认服务器响应是否符合预期
常见问题排查
-
数据包格式错误:
- 检查Burp1的解码脚本是否正确
- 验证JSON格式是否符合预期
-
代理连接问题:
- 确认各工具监听端口设置正确
- 检查防火墙是否阻止本地回环通信
-
编码/解码异常:
- 确保Base64编解码使用相同字符集(通常UTF-8)
- 验证JSON序列化/反序列化无异常
0x05 技术总结与扩展
核心要点
- 利用autoDecoder插件实现自动化编解码
- 通过多级代理建立扫描流水线
- 数据包格式转换是关键突破点
扩展应用
-
支持其他加密方式:
- 可修改脚本支持AES、DES等加密算法
- 适用于更多安全场景
-
多插件协同:
- 在Xray中启用更多检测模块
- 实现全面漏洞扫描
-
自动化集成:
- 结合Burp API实现全自动化测试流程
- 集成到CI/CD流水线中
致谢
- 特别感谢f神开发的autoDecoder插件
- 感谢先知社区提供的技术分享平台