Burp Suite 使用方式与典型场景
四、使用方式与典型场景
下面用一个完整的授权测试流程说明各模块如何配合。假定授权范围是自有测试环境 test.example.local,测试窗口为某日上午,允许手工测试与受限的自动化扫描。
示例一,启动与范围限定。把授权范围写成配置文件,启动时加载,避免误操作波及范围外目标:
java -Xmx4g -jar burpsuite_pro.jar \
--project-file=engagement-test-local.burp \
--config-file=scope.json \
--unpause-spider-and-scanner
配置文件中与范围相关的部分,核心是把目标正则写死,并打开只记录范围内流量:
{
"target": {
"scope": {
"advanced_mode": true,
"include": [
{ "enabled": true, "protocol": "https", "host": "test\\.example\\.local", "port": "443" }
],
"exclude": [
{ "enabled": true, "protocol": "any", "host": ".*\\.cdn\\.example\\.local", "port": "any" }
]
}
},
"proxy": {
"request_listeners": [
{ "listener_port": 8080, "listen_mode": "loopback_only", "running": true }
]
}
}
示例二,用手工流程走一遍典型的访问控制测试。第一步在 Proxy 里正常浏览目标功能,把关键请求记录到 HTTP history;第二步把可疑请求发送到 Repeater,修改标识用户身份的字段(例如某个以数字结尾的会话参数),观察返回内容是否属于其他用户;第三步用 Comparer 对比两次响应的差异,确认差异是实质性的而非页面上的随机内容。顺序如下图所示:
Proxy (浏览并记录)
-> HTTP history (筛选目标请求)
-> 右键 Send to Repeater
-> Repeater 修改参数并 Send 观察响应
-> 右键 Send to Comparer 做差异对比
-> 记录:请求原文 + 响应摘要 + 时间戳 + 结论
示例三,用 Intruder 做一次受限的参数枚举,验证是否存在明显的弱口令。这类测试必须确认授权文件允许,并且严格限制速率:
1. 把登录请求发送到 Intruder
2. Positions 标签页标记需要变化的位置,如 username 与 password
3. Attack type 选择 Pitchfork(用户名与口令一一对应)
4. Payloads 填入小规模的候选列表(例如几十条)
5. Options 中设置线程数为 1,请求间隔 1000 毫秒
6. 启动后观察响应长度与状态码的差异,找出异常返回
7. 记录:测试时间、请求总数、发现项、以及未发现项
适用与不适用场景对照。
| 场景 | 是否合适 | 说明 |
|---|---|---|
| 自有系统上线前的安全自查 | 非常合适 | 最典型的合法用途 |
| 获得书面授权的第三方渗透测试 | 合适 | 需严格遵守授权范围与时间窗口 |
| CTF 与靶场练习 | 合适 | 靶场本身就是为测试准备的 |
| 未授权的任何目标 | 绝对不允许 | 违法,可能承担法律责任 |
| 对生产环境做高强度主动扫描 | 需严格评估 | 可能影响业务可用性,需授权方明确同意并安排在业务低峰 |
| 测试涉及真实用户个人数据 | 需单独授权 | 默认不允许读取或导出真实数据 |
| 移动应用抓包与调试 | 需评估证书固定 | 绕过固定机制需在授权文件中写明 |

