Burp Suite
2026/5/29工具工具Web安全Burp Suite大约 5 分钟
Burp Suite
链接
是什么
Burp Suite 是由 PortSwigger 开发的一款集成化 Web 安全测试平台,广泛应用于渗透测试、漏洞挖掘和 CTF 竞赛中。它充当浏览器与目标服务器之间的中间人代理(HTTP/HTTPS Proxy),能够拦截、查看、修改和重放所有 HTTP/HTTPS 流量。
Burp Suite 提供了多个核心模块:
- Proxy(代理):拦截和修改 HTTP/HTTPS 请求与响应
- Repeater(重放器):手动修改并重发请求,观察响应变化
- Intruder(入侵者):自动化进行暴力破解、模糊测试、参数枚举
- Decoder(解码器):对数据进行编码/解码(URL、Base64、Hex 等)
- Comparer(比较器):对比两个请求或响应的差异
- Logger(日志):记录所有 HTTP 流量
- Extender(扩展):加载第三方插件扩展功能
在 CTF Web 类题目中,Burp Suite 是最核心的工具之一,几乎所有涉及 HTTP 交互的题目都可能用到。
安装与配置
下载安装
- 访问官网 https://portswigger.net/burp/communitydownload
- 下载 Community Edition(免费社区版)或 Professional(专业版)
- 安装需要 Java 运行环境(JRE 17+),推荐使用内置 JRE 的安装包
# Linux 下使用
chmod +x burpsuite_community_linux_v2024_x.sh
./burpsuite_community_linux_v2024_x.sh
# 或使用 jar 包
java -jar burpsuite_community.jar浏览器代理配置
配置浏览器使用 Burp 作为 HTTP 代理:
代理地址:127.0.0.1
代理端口:8080推荐使用 FoxyProxy 浏览器插件快速切换代理,避免手动修改系统代理设置。
安装 CA 证书(抓取 HTTPS 流量)
- 浏览器设置代理后访问
http://burp - 点击右上角 CA Certificate 下载证书
- 在浏览器中导入并信任该证书
- Firefox 需在
about:preferences#privacy中单独导入证书
上游代理配置
若 CTF 题目需要通过 VPN 或特定代理访问:
User Options -> Connections -> Upstream Proxy Servers
添加目标地址对应的代理信息项目文件保存
Project -> New Project -> 保存为 .burp 文件
比赛结束后可重新加载分析历史流量基本用法
Proxy 模块
拦截请求:
- 确保 Intercept is on(拦截开关打开)
- 在浏览器中操作目标页面
- Burp 会暂停请求,允许查看和编辑
- 点击 Forward 放行 / Drop 丢弃 / Action 转发到其他模块
修改请求示例:
原始请求:
POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
username=admin&password=123456
修改后:
username=admin'--&password=anythingRepeater 模块
用于手动测试参数,将请求发送到 Repeater:
- 在 Proxy 中右键请求 -> Send to Repeater
- 在 Repeater 中修改请求内容
- 点击 Send 发送并查看响应
- 对比不同参数下的响应差异
GET /api/user?id=1 HTTP/1.1
Host: target.com
# 修改 id 值测试注入
GET /api/user?id=1' OR 1=1-- HTTP/1.1
Host: target.comIntruder 模块
攻击类型说明:
- Sniper(狙击手):单个 Payload 集,依次填入每个标记位置
- Battering Ram(攻城锤):同一 Payload 填入所有标记位置
- Pitchfork(草叉):多个 Payload 集一一对应
- Cluster Bomb(集束炸弹):多个 Payload 集全排列组合
暴力破解示例:
- 拦截登录请求,发送到 Intruder
- 标记密码字段
password=§123456§ - 在 Payloads 中加载字典(如 rockyou.txt)
- 根据响应长度或状态码筛选正确密码
Payload 处理规则:
- Add prefix / suffix
- Match / Replace
- Encode / Decode(Base64、URL 等)
- Hash 计算
Decoder 模块
支持的编码/解码类型:
- URL 编码
- HTML 实体编码
- Base64
- Hex(十六进制)
- Gzip 解压
- Smart Decode(智能识别)
# URL 解码
%E4%BD%A0%E5%A5%BD -> 你好
# Base64 解码
aGVsbG8gd29ybGQ= -> hello world
# Hex 解码
68656c6c6f -> helloComparer 模块
对比两个请求或响应的差异:
- 选中两个请求/响应,右键 Send to Comparer
- 选择 Words(词级)或 Bytes(字节级)对比
- 高亮显示差异部分
CTF常用技巧
抓包篡改参数
# 修改 Cookie 中的用户标识
Cookie: user=admin; role=0
# 修改为
Cookie: user=admin; role=1编码绕过 WAF
在 Repeater 中对关键 Payload 进行多层编码:
原始: <script>alert(1)</script>
双URL编码: %253Cscript%253Ealert(1)%253C%252Fscript%253E
Base64编码: PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==Intruder 爆破枚举
# 枚举四位数字验证码
Payload type: Numbers
Range: 0000-9999
Step: 1
Min/max integer digits: 4时间盲注辅助
在 Intruder 结果中添加 Response Time 列,根据响应时间长短判断注入结果。
Decoder 组合使用
题目给出 Hex 编码的 Base64 字符串
步骤: Hex Decode -> Base64 Decode -> 得到明文Sequencer 模块分析 Token 随机性
用于分析 Session Token 或 CSRF Token 的随机性强度,判断是否可预测。
插件推荐(通过 Extender 安装)
| 插件名称 | 功能说明 |
|---|---|
| Turbo Intruder | 高速并发请求,绕过速率限制 |
| Hackvertor | 高级编码/解码转换 |
| Autorize | 自动化权限测试 |
| JSON Web Tokens | JWT Token 编解码和测试 |
| Param Miner | 隐藏参数枚举 |
| Active Scan++ | 增强主动扫描能力 |
| Logger++ | 增强日志记录与过滤 |
| HackBar | 类似 Firefox HackBar 的功能 |
常见问题
无法抓取 HTTPS 流量
原因:未安装 Burp 的 CA 证书。
解决:
- 访问
http://burp下载 CA 证书 - 在操作系统或浏览器中导入并信任该证书
- Chrome 浏览器需在系统级别信任证书
抓包导致页面无法加载
原因:拦截开关开启时请求被暂停。
解决:
- 不需要修改时关闭 Intercept(点击 Intercept is on 切换为 off)
- 配置 Intercept Rules 只拦截特定请求
部分请求不经过代理
原因:浏览器或应用未正确配置代理。
解决:
- 使用 Proxy SwitchyOmega 或 FoxyProxy 插件
- 确认代理地址和端口配置正确
- 检查是否有直连规则绕过了代理
响应乱码
原因:编码不匹配。
解决:
- 在 Proxy -> Options -> Response Modification 中勾选 Unhide hidden form fields
- 在 Message Editor 中手动选择正确的字符编码