mcpField
B
burp-suite-testing

burp-suite-testing

github.com/sickn33安全48.7k160 次安装今天更新
代码仓库

关于 burp-suite-testing

burp-suite-testing 是使用 Burp Suite 进行授权 Web 应用安全评估的技能,涵盖代理流量检查、请求重放与修改、手动测试及 Professional 版扫描。主动测试前要求确认书面授权和范围。

主要功能

  1. 01拦截并检查 HTTP 流量
  2. 02修改并重放请求
  3. 03设置目标范围与过滤器
  4. 04运行 Professional 漏洞扫描
  5. 05查看发现项及修复建议

适用场景

  1. 01测试获准应用的访问控制
  2. 02在沙箱中检查输入处理
  3. 03记录扫描发现以便修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill burp-suite-testing

安装后在 Claude Code 中输入/burp-suite-testing确认已加载。

详细介绍

⚠️ 仅限授权使用 此技能仅用于教育目的或经授权的安全评估。 使用此工具前,必须获得系统所有者明确的书面许可。 滥用此工具属于违法行为,且严格禁止。

强制确认关卡 在运行任何会探测、利用、更改目标、在目标上建立持久性、从目标提取数据或尝试获取目标凭据的命令之前:

  1. 请用户说明确切的目标 URL、IP、账号或资源。
  2. 请用户确认已获得书面授权,并说明许可范围。
  3. 展示确切的命令,并解释其预期效果。
  4. 等待用户在当前对话中明确确认。

未获得此确认时,只能进行只读操作,并仅提供防御性指导。优先使用沙盒、一次性 VM 或受控实验室。

仅限授权使用:此技能仅可用于经授权的安全评估、防御性验证或受控的教育环境。

Burp Suite Web 应用测试

目的

使用 Burp Suite 集成的工具集执行全面的 Web 应用安全测试,包括 HTTP 流量拦截与修改、请求分析与重放、自动化漏洞扫描以及手动测试工作流。此技能通过基于代理的测试方法,支持系统地发现和利用 Web 应用漏洞。

使用专用测试浏览器/配置文件,并且只在其中信任 Burp 的 CA;完成后移除该信任。范围筛选器可减少干扰,但不是安全边界:请明确限制扫描/重放的目标、重定向、外部服务、账号操作和速率预算。凭据测试需要指定测试账号,并设置尝试次数/锁定限制。请妥善保管捕获的会话,并在报告中删去令牌/密码。以下示例均为假设内容,并非评估结果。

输入/前置条件

必需工具
  • 已安装 Burp Suite Community 或 Professional Edition
  • Burp 内置浏览器或已配置的外部浏览器
  • 目标 Web 应用 URL
  • 用于已验证测试的有效凭据(如适用)
环境设置
  • 已启动 Burp Suite,并创建/打开临时或命名项目
  • 代理监听器已在 127.0.0.1:8080 上激活(默认)
  • 浏览器已配置为使用 Burp 代理(或使用 Burp 的浏览器)
  • 已安装用于 HTTPS 拦截的 CA 证书
版本对比
功能CommunityProfessional
代理✓✓
Repeater✓✓
Intruder有限完整
Scanner✗✓
扩展✓✓

输出/交付物

主要输出
  • 已拦截和修改的 HTTP 请求/响应
  • 包含修复建议的漏洞扫描报告
  • HTTP 历史记录和站点地图文档
  • 已识别漏洞的概念验证攻击代码

核心工作流

阶段 1:拦截 HTTP 流量
启动 Burp 的浏览器

打开集成浏览器,以无缝集成代理:

  1. 打开 Burp Suite 并创建/打开项目
  2. 转到 Proxy > Intercept 选项卡
  3. 点击 Open Browser,启动预配置的浏览器
  4. 调整窗口位置,以便同时查看 Burp 和浏览器
配置拦截

控制捕获哪些请求:

Proxy > Intercept > Intercept is on/off toggle

When ON: Requests pause for review/modification
When OFF: Requests pass through, logged to history
拦截并转发请求

处理拦截的流量:

  1. 将拦截开关设为 Intercept on
  2. 在浏览器中导航到目标 URL
  3. 在 Proxy > Intercept 选项卡中查看被暂停的请求
  4. 检查请求内容(标头、参数、正文)
  5. 点击 Forward,将请求发送到服务
  6. 持续转发后续请求,直至页面加载完成
查看 HTTP 历史记录

查看完整的流量日志:

  1. 转到 Proxy > HTTP history 选项卡
  2. 点击任意条目以查看完整的请求/响应
  3. 点击列标题进行排序(点击 # 可按时间顺序排列)
  4. 使用筛选器聚焦相关流量
阶段 2:修改请求
拦截和修改

在转发前更改请求参数:

  1. 启用拦截:开启拦截
  2. 在浏览器中触发目标请求
  3. 在拦截的请求中找到要修改的参数
  4. 直接在请求编辑器中编辑值
  5. 点击 转发 发送修改后的请求
常见修改目标
目标示例用途
价格参数price=1测试业务逻辑
用户 IDuserId=admin测试访问控制
数量值qty=-1测试输入验证
隐藏字段isAdmin=true测试权限提升
示例:价格篡改
POST /cart HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

productId=1&quantity=1&price=100

# Modify to:
productId=1&quantity=1&price=1

假设存在漏洞的结果:商品以修改后的价格添加。记录观察到的服务器行为;仅凭请求发生变化并不能证明任何问题。

阶段 3:设置目标范围
定义范围

将测试重点放在特定目标上:

  1. 前往 Target > Site map
  2. 在左侧面板中右键点击目标主机
  3. 选择 Add to scope
  4. 出现提示时,点击 Yes,以排除范围外的流量
按范围筛选

从 HTTP 历史记录中移除无关内容:

  1. 点击 HTTP 历史记录上方的显示筛选器
  2. 选择 Show only in-scope items
  3. 历史记录现在仅显示目标站点的流量
范围的优势
  • 减少第三方请求造成的干扰
  • 防止意外测试范围外的站点
  • 提高扫描效率
  • 生成更简洁的报告
阶段 4:使用 Burp Repeater
将请求发送到 Repeater

准备请求以进行手动测试:

  1. 在 HTTP 历史记录中找到有意义的请求
  2. 右键点击请求并选择 Send to Repeater
  3. 前往 Repeater 标签页访问请求
修改并重新发送

高效测试不同的输入:

1. View request in Repeater tab
2. Modify parameter values
3. Click Send to submit request
4. Review response in right panel
5. Use navigation arrows to review request history
Repeater 测试工作流
Original Request:
GET /product?productId=1 HTTP/1.1

Test 1: productId=2    → Valid product response
Test 2: productId=999  → Not Found response  
Test 3: productId='    → Error/exception response
Test 4: productId=1 OR 1=1 → SQL injection test
分析响应

留意漏洞迹象:

  • 暴露堆栈跟踪的错误消息
  • 泄露框架或版本信息
  • 响应长度不同,可能表明存在逻辑缺陷
  • 时间差异可能表明存在盲注
  • 响应中出现意外数据
阶段 5:运行自动扫描
启动新扫描

启动漏洞扫描(仅 Professional 版支持):

  1. 前往 Dashboard 标签页
  2. 点击 New scan
  3. 在 URLs to scan 字段中输入目标 URL
  4. 配置扫描设置
扫描配置选项
模式描述时长
轻量级高层级概览~15 分钟
快速快速漏洞检查~30 分钟
平衡标准全面扫描~1-2 小时
深度全面测试数小时
监控扫描进度

跟踪扫描活动:

  1. 在 Dashboard 中查看任务状态
  2. 实时查看 Target > Site map 的更新
  3. 在 Issues 标签页中查看已发现的漏洞
查看已识别的问题

分析扫描结果:

  1. 在 Dashboard 中选择扫描任务
  2. 前往 Issues 标签页
  3. 点击问题以查看:
    • Advisory:描述和修复建议
    • Request:触发该问题的 HTTP 请求
    • Response:显示漏洞的服务器响应
阶段 6:Intruder 攻击
配置 Intruder

设置自动化攻击:

  1. 将请求发送到 Intruder(右键点击 > Send to Intruder)
  2. 前往 Intruder 标签页
  3. 使用 § 标记定义载荷位置
  4. 选择攻击类型
攻击类型
类型描述用例
Sniper单个位置,逐个迭代载荷对单个参数进行模糊测试
Battering ram所有位置使用相同载荷凭据测试
Pitchfork并行迭代载荷用户名:密码对
Cluster bomb所有载荷组合完全暴力破解
配置载荷
Positions Tab:
POST /login HTTP/1.1
...
username=§admin§&password=§password§

Payloads Tab:
Set 1: admin, user, test, guest
Set 2: password, 123456, admin, letmein
分析结果

查看攻击输出:

  • 按响应长度排序以查找异常
  • 按状态码筛选,查找成功尝试
  • 使用 grep 搜索特定字符串
  • 导出结果以供记录

快速参考

键盘快捷键
操作Windows/LinuxmacOS
转发请求Ctrl+FCmd+F
丢弃请求Ctrl+DCmd+D
发送到 RepeaterCtrl+RCmd+R
发送到 IntruderCtrl+ICmd+I
切换拦截Ctrl+TCmd+T
常见测试载荷
# SQL Injection
' OR '1'='1
' OR '1'='1'--
1 UNION SELECT NULL--

# XSS
<script>alert(1)</script>
"><img src=x onerror=alert(1)>
javascript:alert(1)

# Path Traversal
../../../etc/passwd
..\..\..\..\windows\win.ini

# Command Injection
; ls -la
| cat /etc/passwd
`whoami`
请求修改技巧
  • 右键打开上下文菜单选项
  • 使用 decoder 进行编码/解码
  • 使用 Comparer 工具比较请求
  • 将有用的请求保存到项目中

限制和防护措施

操作边界
  • 仅测试获得授权的应用程序
  • 配置范围,避免意外测试范围之外的目标
  • 限制扫描速率,避免拒绝服务
  • 记录所有发现和操作
技术限制
  • Community Edition 不具备自动扫描器
  • 某些网站可能会拦截代理流量
  • HSTS/证书固定可能需要额外配置
  • 大规模扫描可能触发 WAF 拦截
最佳实践
  • 在进行广泛测试前,务必设置目标范围
  • 使用 Burp 的浏览器,确保可靠拦截
  • 定期保存项目,以保留工作成果
  • 手动检查扫描结果,排除误报

示例

示例 1:业务逻辑测试

场景:电商价格篡改

  1. 正常将商品加入购物车,拦截请求
  2. 在 POST 正文中找到 price=9999 参数
  3. 将其修改为 price=1
  4. 转发请求
  5. 使用沙盒购物车/测试支付验证由服务器计算的总金额;未经单独明确授权,不要下真实订单

发现:服务器信任客户端提供的价格值。

示例 2:绕过身份验证

场景:测试登录表单

  1. 提交有效凭据,在 Repeater 中捕获请求
  2. 将请求发送到 Repeater 进行测试
  3. 尝试:username=admin' OR '1'='1'--
  4. 观察是否收到成功登录响应

发现:身份验证中存在 SQL 注入。

示例 3:信息泄露

场景:基于错误的信息收集

  1. 访问产品页面,观察 productId 参数
  2. 将请求发送到 Repeater
  3. 将 productId=1 改为 productId=test
  4. 观察错误信息是否泄露框架版本

发现:堆栈跟踪中泄露了 Apache Struts 2.5.12。

故障排除

浏览器无法通过代理连接
  • 确认代理侦听器处于活动状态(Proxy > Options)
  • 检查浏览器代理设置是否指向 127.0.0.1:8080
  • 确认防火墙未阻止本地连接
  • 使用 Burp 内置浏览器,确保配置可靠
HTTPS 拦截失败
  • 在浏览器/系统中安装 Burp CA 证书
  • 访问 http://burp 下载证书
  • 将证书添加到受信任的根证书
  • 安装后重启浏览器
性能缓慢
  • 限定范围以减少处理量
  • 禁用不必要的扩展
  • 在启动选项中增加 Java 堆大小
  • 关闭未使用的 Burp 标签页和功能
请求未被拦截
  • 确认已启用“Intercept on”
  • 检查拦截规则是否过滤了目标
  • 确认浏览器正在使用 Burp 代理
  • 确认目标未使用不受支持的协议

适用场景

此技能适用于执行概述中所述的工作流或操作。

评论

支持 Markdown