Burp Suite 是由 PortSwigger 公司开发的集成化 Web 应用安全测试平台,是渗透测试人员的必备工具。 它包含了代理、扫描器、爆破器、重放器等多个功能模块,可以完成从信息收集到漏洞利用的完整渗透测试流程。
工具概述
Burp Suite 分为社区版(免费)和专业版(付费)。社区版提供核心的代理和手工测试功能,专业版则包含自动化扫描器和高级功能。 全球超过90%的Web安全测试人员使用 Burp Suite 作为主力工具。
一、Burp Suite 核心模块
Proxy 代理
拦截、查看、修改浏览器与服务器之间的HTTP/HTTPS流量,是使用Burp的基础。
• Intercept 拦截
• HTTP History 历史
• WebSockets 支持
Repeater 重放
手动修改并重复发送HTTP请求,快速测试各种payload,是手工测试的核心工具。
• 请求编辑
• 响应对比
• 自动更新长度
Intruder 爆破
自动化攻击工具,支持暴力破解、Fuzz测试、参数枚举等多种攻击模式。
• Sniper 狙击手
• Cluster bomb 集束
• Pitchfork 草叉
Scanner 扫描
自动化漏洞扫描器(专业版),可自动发现SQL注入、XSS等常见漏洞。
• 主动扫描
• 被动扫描
• 漏洞报告
二、安装与配置
2.1 下载安装
# 官网下载
https://portswigger.net/burp/communitydownload
# Linux 运行
java -jar burpsuite_community.jar
# Windows 直接运行安装包
burpsuite_community_windows-x64.exe
# macOS
open burpsuite_community_macos.dmg
2.2 代理配置
配置浏览器使用 Burp Suite 代理:
# Burp 默认代理设置
地址: 127.0.0.1
端口: 8080
# Firefox 推荐插件: FoxyProxy
# Chrome 推荐插件: SwitchyOmega
# 配置步骤:
1. Burp Suite → Proxy → Options
2. 确认监听在 127.0.0.1:8080
3. 浏览器配置HTTP/HTTPS代理
4. 访问 http://burp 下载CA证书
5. 浏览器导入证书(信任此CA)
SSL证书配置
必须安装 Burp CA 证书才能拦截 HTTPS 流量。不同浏览器证书导入位置:
Firefox: 设置 → 隐私与安全 → 证书 → 查看证书 → 导入
Chrome: 设置 → 隐私和安全 → 安全 → 管理证书 → 授权中心 → 导入
三、Proxy 代理模块
3.1 Intercept 拦截功能
Intercept 可以拦截并修改浏览器发出的请求和服务器返回的响应:
# 基本操作
Forward - 转发当前请求/响应
Drop - 丢弃当前请求/响应
Intercept is on/off - 开启/关闭拦截
# 修改示例:绕过前端验证
# 原始请求
POST /login HTTP/1.1
Host: target.com
Content-Type: application/json
{"username":"admin","password":"123"}
# 修改为
POST /login HTTP/1.1
Host: target.com
Content-Type: application/json
{"username":"admin","password":"' OR '1'='1"}
3.2 HTTP History
查看所有经过代理的请求历史,支持过滤、搜索、高亮等功能:
# 常用过滤条件
- 只显示特定域名
- 只显示参数化请求
- 只显示有响应的请求
- 按状态码过滤 (200, 302, 404, 500等)
- 按MIME类型过滤 (HTML, JSON, XML等)
# 右键菜单
- Send to Repeater (发送到重放器)
- Send to Intruder (发送到爆破器)
- Do active scan (执行主动扫描-专业版)
- Copy URL (复制URL)
四、Repeater 重放模块
Repeater 是手工测试的核心工具,可以反复修改并发送请求,观察响应变化:
4.1 基本使用流程
# 1. 在 Proxy/Target 中找到目标请求
# 2. 右键 → Send to Repeater
# 3. 在 Repeater 标签中修改请求
# 4. 点击 Send 发送
# 5. 观察 Response 响应
# 快捷键
Ctrl+R - 发送到 Repeater
Ctrl+Space - 发送请求
Ctrl+Shift+R - 重新发送请求
4.2 实战案例:SQL注入测试
// 原始请求
GET /product?id=1 HTTP/1.1
Host: shop.example.com
// 测试是否存在SQL注入
GET /product?id=1' HTTP/1.1
→ 响应: 500 Internal Server Error (可能存在注入)
GET /product?id=1 AND 1=1-- HTTP/1.1
→ 响应: 200 OK (正常显示商品)
GET /product?id=1 AND 1=2-- HTTP/1.1
→ 响应: 页面为空 (确认存在SQL注入)
GET /product?id=1 UNION SELECT 1,database(),version()-- HTTP/1.1
→ 响应: 显示数据库名和版本 (Union注入成功)
五、Intruder 暴力破解模块
5.1 四种攻击模式
5.2 Payload 配置
# Simple list - 简单列表
从文件加载或手动输入payload列表
适合:自定义字典攻击
# Numbers - 数字序列
From: 1
To: 10000
Step: 1
适合:用户ID枚举、端口扫描
# Brute forcer - 暴力枚举
Character set: abcdefghijklmnopqrstuvwxyz0123456789
Min length: 4
Max length: 6
适合:短密码暴力破解
# Runtime file - 运行时文件
实时从大文件读取,不占用内存
适合:超大字典文件
5.3 结果分析
# 关键列说明
Status - HTTP状态码(200成功, 302跳转, 403禁止)
Length - 响应长度(异常长度可能表示成功)
Payload - 使用的payload
Grep - 提取的关键字(需预先配置)
# 判断成功的依据
1. 状态码与众不同 (其他都401,只有一个200)
2. 响应长度异常 (明显较长或较短)
3. 响应时间异常 (明显较慢可能是数据库查询)
4. 包含成功关键字 ("welcome", "dashboard"等)
爆破限制
Burp Suite 社区版限制了 Intruder 的速度(每秒约1个请求)。专业版可以设置线程数加快速度。
实战中注意:
• 设置合理的线程数避免服务器过载
• 添加随机延迟避免被WAF检测
• 使用 Grep 功能自动匹配成功标志
六、其他实用功能
6.1 Decoder 编码解码
# 支持的编码格式
- URL编码/解码
- HTML实体编码
- Base64编码/解码
- ASCII Hex
- Gzip压缩/解压
# 示例
原文: admin' OR '1'='1
URL编码: admin%27+OR+%271%27%3D%271
Base64: YWRtaW4nIE9SICcxJz0nMQ==
6.2 Comparer 对比工具
# 用途
对比两个请求/响应的差异
快速发现注入点或绕过验证的关键
# 使用场景
- 对比登录成功/失败的响应差异
- 对比不同payload的响应变化
- 分析盲注时的细微差别
七、实战技巧
配置Scope
Target → Scope 设置测试范围
避免误测其他网站
被动扫描
浏览网站时自动收集
参数、Cookie、Header
手工测试
Repeater测试注入点
Intruder进行爆破
漏洞验证
确认漏洞可利用性
生成POC报告
高级技巧
- Match and Replace: 自动替换请求中的特定内容
- Session Handling: 自动处理登录态和CSRF Token
- Macro: 录制复杂的请求序列自动化执行
- 扩展插件: BApp Store提供大量实用插件
八、总结
Burp Suite 是 Web 渗透测试的瑞士军刀,掌握它的使用对于安全从业者至关重要。 从基础的代理抓包到高级的自动化攻击,Burp Suite 提供了完整的工具链。 建议新手从 Proxy 和 Repeater 开始学习,逐步掌握 Intruder 和 Scanner 等高级功能。