Burp Suite {专业版} vs OWASP ZAP!更贵是否意味着更好?
在这篇文章中,我将记录全球渗透测试人员和 DevSecOps 团队最常用的两款拦截代理工具之间的一些差异。
引言
OWASP ZAP 和 Burp Suite 都被视为(增强版)拦截代理,位于浏览器和 Web 服务器之间,用于拦截和操纵请求交换。
- OWASP ZAP 是一个由志愿者积极维护的免费开源项目。
- Burp Suite 是由 PortSwigger 维护和销售的商业产品。
它们几乎每年都入选十大工具榜单。在这篇文章中,我将比较 2020.x 版本的 Burp Suite(该版本于 2020 年 1 月首次发布)。
从它们进入市场以来,我们可以看到其势头和用户量不断增长(根据过去 5 年(2015-2020 年)的谷歌趋势数据)。希望到本文结束时,你能更好地理解它们的异同。
我将从以下几个方面讨论两个工具之间的差异:
- 描述用户界面
- 列出两者的功能特性
- 个人使用体验
- 各自的优缺点
1. 用户界面
初次看到用户界面时可能会觉得不适应,但过一段时间后就会变得直观,并包含你需要的所有必要信息。两个工具的界面都有 6 个简单的项目。
Burp Suite 具有一个由 6 个简单窗口组成的简洁界面:
- 菜单栏 — 提供导航菜单和工具设置
- 选项卡栏 — 以简单选项卡形式提供 Burp 的大部分功能
- 状态栏 — 提供 Burp 使用的内存和磁盘空间信息(新的便捷功能)
- 事件日志 — 提供包含附加信息的 Burp Suite 日志
- 问题和漏洞窗口 — 提供检测到的漏洞列表,在 Burp Suite Pro 或企业版的付费版本中可用
- 任务菜单 — 提供关于当前运行、暂停和已完成任务的简单信息与控制
ZAP 也具有由 6 个简单项目组成的简洁界面:
- 菜单栏 — 提供对许多自动和手动工具的访问
- 工具栏 — 包含可轻松访问最常用功能的按钮
- 树形窗口 — 显示站点树和脚本树
- 工作区窗口 — 显示请求、响应和脚本,并允许编辑
- 信息窗口 — 显示自动和手动工具的详细信息
- 页脚 — 显示发现的告警汇总和主要自动工具的状态
2. 功能特性
Burp Suite 和 ZAP 都具有丰富的功能集。但在某些方面,一个工具可能优于另一个。
共同/共通能力:
- 支持 SSL/TLS 和 WebSocket 的拦截功能
- 拦截历史记录
- 范围树形导航
- 范围定义
- 手动请求编辑器和发送器
- 插件、扩展和市场/商店
- 漏洞树或问题显示
- 带有默认字典的模糊测试器
- 扫描策略配置
- 报告生成能力
- 编码器与解码器
- 爬虫功能
- 自动检查更新功能
- 保存和加载项目文件
- 暴露且可用的 API
- 被动和主动扫描引擎
Burp Suite 特有(或原生不具备需插件支持):
- Session Token 熵分析(Burp 特有 — 如果你知道 ZAP 通过插件支持该功能,请留言评论)
- 知识库(Burp 特有 — ZAP 的 UI 不支持)
- Diff 差异比较功能(据我所知,Burp 特有,ZAP 原生不支持)
- 支持多种编程和脚本语言
- 认证模块(如 NTLM、表单认证等)
3. 使用体验
不久前,我需要同时使用这两款工具进行对比。虽然我第一眼更习惯 Burp Suite,但 OWASP ZAP 也实现了相同的功能,只是需要通过插件增强。请记住,两者的学习曲线都较为平缓。
例如,ZAP 只有一个模糊测试窗口,这使得在模糊测试结果中搜索变得困难,尤其是当运行多个模糊测试时。而 Burp 为每个进行的模糊测试提供了不同的窗口和配置。其他功能也是如此。
与 Burp 不同,你无法在 ZAP 的模糊测试窗口中更改(添加、编辑或删除)HTTP 头。这给了 Burp 一个优势,因为它允许你更快、更有效地对模糊测试结果进行排序或搜索。
Burp 的一大优点是 Comparer(比较器)选项卡,它可以更容易地进行变更检测,如检测由于时间变化、令牌或内容导致的大小差异。ZAP 没有扩展情况下缺乏此功能(请在下方评论哪个 ZAP 插件可实现此功能)。
ZAP 的另一个障碍是搜索请求或服务器响应中文本的能力,而 Burp 使其更加便捷 — 你可以搜索文本或正则表达式。
还有一点让 Burp 比 ZAP 更受欢迎:它能够检测令牌熵和随机性以进行密码学分析。当会话 Cookie 是手动生成时,此功能非常有用。
然而,ZAP 的一大优势是其 API,这使得它比 Burp 更容易集成或自动化。你可以从浏览器或其他用户代理(如 curl、SDK/库)访问 API。
- Burp Suite 社区版的 API 只能用于编写插件和扩展。
- 而 ZAP 可以用于 DevOps 和/或 DevSecOps 流水线。
2018 年引入了新的 Burp REST API,使得将 Burp 与其他工具和工作流集成更加容易。例如,使用 API 爬取一个主机并从控制台获取结果(如爬取 testphp.vulnweb.com)。
此特性使 OWASP ZAP 成为最容易集成到 DevSecOps 流水线的工具,无论你的环境规模大小。
很长一段时间里,只有 OWASP 拥有学习 ZAP 和 Web 应用程序安全性的优质资源,但最近 PortSwigger 也推出了一个非常好的免费 Web Security Academy。
4. 优缺点总结
根据我的经验:
- ZAP 在 DevOps/DevSecOps 方面表现出色,因为它的 API 集成更简单,支持更好。
- Burp 更侧重于实际的漏洞评估和 Web 应用程序渗透测试。
考虑到每个工具的不同价格点,是否“更贵更好”取决于你的具体场景:
- Burp Pro 的定价为 399 美元/用户/年(由 PortSwigger 定价)。
- OWASP ZAP 是一个 免费开源项目,采用 Apache 2.0 许可证。
结论
两款工具在其差异化和使用场景方面都很出色。告诉我你更喜欢哪个工具,以及你使用 ZAP 或 Burp 的技巧与诀窍。 CSD0tFqvECLokhw9aBeRqrvSZYy5WVK6yFV76v0li2EsgYwjH8K2f8/jk46bIifaKPJm6+/uVLP4AFC09JPqivLkxuBs7RLPXu5rigPvy+XtBKSym0Ac81vixmCTQ2Gw