Burp Suite
定义
Burp Suite 是面向 Web 应用的集成安全测试平台,其基本定位是一套由多个工具组成、彼此协作的安全测试套件[1]。套件中的各个工具围绕 HTTP 与 WebSocket 消息展开,测试者可以在不同工具之间直接传递请求,边浏览边分析,而不必把数据复制到另一款软件中[1]。
据 PortSwigger 提供的功能清单,套件包含 Proxy、Target、Repeater、Intruder、Scanner、Sequencer、Decoder、Comparer、Logger、Organizer、Collaborator、DOM Invader、Clickbandit 等组件,另有内置浏览器和消息编辑器[1]。这些组件并非彼此孤立:在 Proxy 中截获的消息可转入 Repeater 反复修改重发,也可转入 Intruder 批量变换参数,或送入 Scanner 进一步审计[1]。
产品按功能划分为社区版(Community Edition)、专业版(Professional)与企业版(Enterprise)等不同层级,其中社区版免费提供手工测试所需的基本工具,专业版在其基础上增加自动化能力[3]。
原理
Burp Suite 的核心机制是在浏览器与目标服务器之间充当中间人。测试者把浏览器的代理设置为 Burp 的监听端口,Http 请求便先到达 Burp,再由 Burp 转发给服务器;开启拦截后,每条请求与响应都可以暂停、查看并改写,然后继续放行[1]。
对采用 TLS 加密的 HTTPS 流量,测试者需要在浏览器中导入 Burp 自己签发的 CA 证书;此后浏览器信任该证书,Burp 便可解密双向通信内容并以明文呈现,这项工作相当于在客户端与服务器之间分别建立两段独立的安全连接,示意图如下。
flowchart LR
B[浏览器] -->|HTTPS 请求| P[Burp Proxy]
P -->|查看 / 改写 / 拦截| P
P -->|转发| S[目标 Web 应用]
S -->|响应| P
P -->|HTTPS 响应| B
在拦截之外,套件中的分析类工具依赖各自的判定方法。Scanner 依据内置规则库,对爬取到的响应内容进行被动与主动审计,用已知的不安全语法模式匹配响应,并结合爬虫枚举功能点。Sequencer 收集应用生成的会话令牌等本应不可预测的数据,统计其随机性强度;Decoder 则对数据做编码与解码转换,覆盖 URL、Base64、十六进制等格式。
针对服务器端不直接在响应中体现的漏洞,Collaborator 采用带外应用安全测试(OAST)思路:由 PortSwigger 托管的服务为测试者分配唯一子域,把该地址注入目标后,观察目标是否发起 DNS 或 HTTP 回调,以判断盲注类问题是否存在。
发展历程
Burp 最初是 Dafydd Stuttard 为自身安全测试需求编写的小工具,时间在 2003 年至 2006 年之间;他此前认识到 Selenium 之类可自动化网页工具的潜力,因而尝试把测试流程自动化。据 PortSwigger 官方大事记,2003 年 6 月发布的首个 Burp 版本只包含 Intruder 工具的雏形,并带有无法关闭的 Burp 音效[4]。
此后各组件陆续独立成形:2003 年 8 月出现基础的拦截代理 Burp Proxy,同时包含后来 Repeater 的前身 sock 工具,sock 之名源于它只是打开一个套接字并发送请求;2004 年 3 月发布可跟随链接并提交表单的 Burp Spider;2005 年 7 月 sock 更名为 Repeater[4]。2005 年 8 月,上述 4 个工具被整合进单一应用,Burp Suite 1.0 由此发布,支持工具间传递条目与浏览时被动爬取,这一整合被视为关键突破[4][2]。
2007 年 11 月的 1.1 版新增 Sequencer、Decoder 与 Comparer 三个工具,并加入 HTTP 报文分析;2008 年 12 月发布 1.2 版[4]。此后产品线逐步分为免费版与专业版,免费版名称几经变化,由 Free Edition 改为 Community Edition[5]。随着 Burp Collaborator 引入带外测试,以及 BApp 扩展生态的形成,套件的能力范围不断外扩[3]。
版本号此后改为以年份与序号标识,官方发布档案中可见专业版、社区版与企业版的多次迭代,例如 2023 年内即有多轮更新[6]。Burp 的开发公司 PortSwigger 同时开展安全研究与培训,Stuttard 亦是《The Web Application Hacker's Handbook》一书的作者之一[7]。
应用
Burp Suite 主要用在 Web 应用的安全评估与渗透测试中,测试者通过代理记录站点结构与请求历史,再借助重放与批量请求验证注入、访问控制、业务逻辑等类型的问题[1]。在漏洞复现环节,Repeater 用于单条报文的手工修改与比对,Intruder 则对指定参数位置施加字典或载荷集合,适合口令尝试、参数枚举一类的自动化任务。
专业版把自动化扫描纳入工作流,可对目标执行爬取与审计,输出带严重级别分类的问题列表以及修复说明。企业版面向组织级部署,支持在实际开发流程中对多个站点并发扫描[8]。
扩展机制使工具能按需增减功能:BApp Store 汇集社区上传的插件,官方扩展 API 开源,原生支持 Java 插件,Python 与 Ruby 插件则需分别借助 Jython 与 JRuby。PortSwigger 自身的研究人员也以插件形式发布研究成果,如 Param Miner、HTTP Request Smuggler 等。
在教学场景中,社区版承担了大部分手工练习,PortSwigger 免费的 Web Security Academy 即以社区版的工作流为基础[9]。社区版同时被整合进 Kali Linux 等渗透测试发行版,成为默认工具之一[7]。
局限
社区版在能力上有明确边界。它不提供自动化 Scanner,因此无法对目标做主动漏洞扫描;Intruder 被限速,实际吞吐远低于专业版,面对大规模字典时效率很低;项目也无法保存为工程文件,测试过程难以跨时段延续[3][10]。部分扩展仅与专业版兼容。
即便在专业版中,自动化扫描也不能替代人工判断。官方资料指出,纯自动化工具无法发现全部 Web 安全问题,许多问题仍需测试者提供某种形式的人工输入[11]。拦截式代理的使用还要求测试者正确配置代理与证书,浏览器设置不当或遇到证书固定等机制时,流量无法被正常解密和查看。
工具的属性本身构成使用边界。Burp Suite 属双用途软件,其拦截、改包与批量请求功能同样可用于未授权访问,材料指出未经许可对他人系统实施测试可能承担法律责任[7]。因此其应用场景通常限定为已获书面授权的安全评估或自有系统的检测[12]。
参见
-
Dafydd Stuttard —— Burp 系列工具的初始作者,也是 PortSwigger 的创办者。
-
PortSwigger —— Burp Suite 的开发公司,并运营免费的 Web Security Academy。
-
OWASP ZAP —— 与 Burp Suite 功能定位相近的开源 Web 应用安全测试代理。
-
PHP —— 早期 Burp 的实现语言,后续版本改为 Java 并保持跨平台。
-
SQL注入 —— Burp Suite 常用于验证的 Web 漏洞类型之一。
-
跨站脚本 —— 套件内置工具可辅助检测的一类客户端漏洞。
参考资料
- Burp Suite tools [引用日期2026-10-29]
- about [引用日期2026-10-29]
- Burp Suite Community Edition [引用日期2026-10-29]
- Burp through the ages [引用日期2026-10-29]
- PortSwigger Web Security [引用日期2026-10-29]
- Archive | Releases [引用日期2026-10-29]
- Burp Suite [引用日期2026-10-29]
- Burp Suite系列 [引用日期2026-10-29]
- Burp Suite Tutorial for Kali Linux (2026) [引用日期2026-10-29]
- Burp to ZAP Feature Map [引用日期2026-10-29]
- 测试、查找和利用漏洞 [引用日期2026-10-29]
- Burp Suite Testing 实用指南 [引用日期2026-10-29]