Burp Suite 基础
Burp Suite 基础
1. Burp Suite 全面介绍
Burp Suite 是 PortSwigger 公司开发的集成式 Web 应用安全测试平台,广泛用于渗透测试人员和安全研究员进行漏洞扫描、手动测试和自动化攻击。
核心特点
- 代理服务器:拦截并修改浏览器与服务器之间的 HTTP/HTTPS 流量。
- 扫描器(专业版):自动检测常见 Web 漏洞(如 XSS、SQL 注入等)。
- 攻击工具(Intruder):执行定制化攻击,如模糊测试、密码爆破。
- 爬虫(Crawler):自动枚举和映射 Web 应用的目录与功能点。
- Repeater:手动修改和重发 HTTP/HTTPS 请求,用于调试漏洞。
- Sequencer:分析令牌(如 Session ID)的熵值,检测其可预测性。
- Decoder:支持多种编码格式的解码/编码(如 URL、Base64、MD5 等)。
- Comparer:对比两组数据的差异(如不同请求的响应结果)。
- Extender:支持加载插件扩展功能,支持自定义 Bambdas 脚本和 Burp 插件开发。
适用人群
- Web 渗透测试人员
- 安全审计工程师
- 开发者进行安全自查
2. 框架内工具概述
2.1 核心工具列表
工具 | 功能描述 |
---|---|
Proxy | 拦截和修改浏览器请求与服务器响应,支持 HTTPS 抓包,实时监控流量。 |
Scanner | 自动漏洞扫描(专业版功能),检测 SQL 注入、XSS、文件包含等常见漏洞。 |
Intruder | 自动化模糊测试工具,用于参数污染、密码爆破、变量枚举等场景。 |
Repeater | 手动重发并修改 HTTP 请求,逐行调试请求参数,分析响应结果。 |
Sequencer | 分析会话令牌或随机数的熵强度,评估其安全性(如随机性是否足够)。 |
Decoder | 支持 URL、Base64、HTML、JSON 等格式的编码/解码,辅助数据解析。 |
Comparer | 对比两组数据(如两个 HTTP 响应)的差异,快速定位变化点。 |
Extender | 扩展 Burp 功能的核心模块,支持从 BApp Store 安装插件或自定义开发脚本。 |
Logger++ | 增强版 HTTP 流量日志插件,提供更详细的日志记录与审计功能(需手动安装)。 |
2.2 辅助工具与插件(BApp Store)
- Autorize:辅助权限测试,快速验证用户角色的访问控制漏洞。
- JS Miner:提取 JavaScript 文件中的敏感信息(如 API 密钥、内部路径)。
- BurpBounty:自定义扫描插件和Payload模板,适配特定业务逻辑漏洞检测。
- ActiveScan++:增强版扫描模块,提升漏洞检测的准确性和覆盖范围。
2.3 Bambdas(轻量级定制脚本)
Bambdas 是内置的小型 Java 代码片段,用于直接在 Burp 界面中定制逻辑,支持:
- HTTP 历史筛选(如过滤特定状态码或 Cookie 的请求)。
- WebSocket 流量分析与筛选。
- 自定义列展示(如在 Proxy 历史中新增请求头字段列)。
示例:过滤包含 3XX 重定向且返回 session Cookie 的请求
if (!requestResponse.hasResponse()) { return false;
}
return requestResponse.response().isStatusCodeClass(StatusCodeClass.CLASS_3XX_REDIRECTION) && requestResponse.response().hasCookie("session");
详细文档:《Burpsuite Bambdas.pdf》
3. 安装流程指南
3.1 系统要求
- 操作系统:Windows/macOS/Linux(全平台支持)。
- Java 环境:Burp Suite 自带 JRE,无需额外安装。
- 浏览器:推荐 Firefox/Chrome,需配置代理以配合 Burp 使用。
3.2 安装步骤
Windows
- 访问 PortSwigger 官网 下载
.exe
安装包。 - 运行安装向导,按提示完成安装。
- 启动 Burp Suite,首次运行需选择版本(社区版/专业版)。
- 配置浏览器代理:
- 打开浏览器设置,代理服务器设为
127.0.0.1:8080
。 - 导入 Burp 根证书(访问
http://burp
下载并安装,避免 HTTPS 证书错误)。
- 打开浏览器设置,代理服务器设为
macOS
- 下载
.dmg
镜像文件,拖动 Burp Suite 到「应用程序」文件夹。 - 配置代理:系统偏好设置 > 网络 > 代理 > HTTP/HTTPS,设置为
127.0.0.1:8080
。 - 其他步骤与 Windows 一致。
Linux
- 下载
.sh
安装脚本,赋予执行权限:chmod +x burpsuite_community_linux_vX.X.X.sh
- 运行安装脚本:
./burpsuite_community_linux_vX.X.X.sh
- 专业版用户需输入许可证密钥。
4. 导航与配置指南
4.1 界面导航
Burp Suite 主界面包含以下核心标签页:
- Dashboard:项目概览,显示自动扫描任务、漏洞统计等。
- Target:站点地图,展示爬取的所有 URL、参数和功能点。
- Proxy:HTTP(S) 代理拦截界面,实时显示请求/响应数据。
- Intruder:自动化攻击模块,用于设置攻击载荷和爆破策略。
- Repeater:手动请求调试界面,支持修改请求参数并重新发送。
- Extender:插件管理中心,包含 BApp Store 和自定义脚本编辑器。
4.2 代理与证书配置
- 代理监听设置:
- 默认端口:
127.0.0.1:8080
(可在 Proxy > Options 中修改)。 - 支持添加多个监听器(如监听不同端口或 IP)。
- 默认端口:
- 安装 Burp 证书:
- 浏览器访问
http://burp
,点击「CA Certificate」下载证书。 - 在浏览器中导入证书并信任(以 Chrome 为例:设置 > 隐私和安全 > SSL证书 > 管理证书)。
- 浏览器访问
4.3 优化配置建议
- 拦截规则调整:在 Proxy > Intercept 中设置过滤规则,避免拦截无关流量。
- Payload 管理:在 Intruder > Payloads 中导入自定义字典(如密码字典、敏感参数列表)。
- 插件扩展:通过 Extender > BApp Store 安装 Logger++、Autorize 等插件提升效率。
- 快捷键定制:在 User Options > Keyboard 中自定义常用功能快捷键(如快速切换拦截状态)。
4.4 自定义筛选脚本示例
需求:仅显示响应状态码为 200 且包含 admin
字符串的请求。
if (!requestResponse.hasResponse()) { return false;
}
return requestResponse.response().getStatusCode() == 200 && requestResponse.response().toString().contains("admin");
总结
Burp Suite 以其模块化设计和强大的扩展能力,成为 Web 安全测试的标配工具。从基础的流量拦截到复杂的漏洞利用,其核心工具链覆盖了渗透测试全流程。通过掌握 Bambdas 脚本和插件开发,用户可进一步定制化测试流程,提升漏洞发现效率。建议初学者从代理抓包和手动测试入手,逐步深入学习扫描器、Intruder 等高级功能,结合实际案例积累经验。