引言
Burp Suite 是一个功能强大且流行的 Web 应用程序安全测试平台。它包含一套集成工具,这些工具协同工作,支持整个测试过程,从应用程序攻击面的初始映射和分析,到发现和利用安全漏洞。
在你能够有效地使用 Burp Suite 进行安全测试之前,你必须首先熟悉它的用户界面 (UI)。在本实验中,你将启动 Burp Suite 并对其主要选项卡和功能进行一次引导式游览。这些基础知识对于未来所有涉及 Web 应用程序渗透测试的实验都至关重要。
审阅 Dashboard 和 Event log
在此步骤中,你将启动 Burp Suite 并探索作为测试活动中心枢纽的主 Dashboard。
首先,在你的 LabEx 环境中打开一个终端。Burp Suite 的 JAR 文件已下载到你的 ~/project 目录中。使用以下命令启动应用程序。请注意,加载可能需要一些时间。
java -jar burpsuite_community.jar
将出现一个对话框,询问有关项目文件的问题。对于本实验,我们将使用一个临时项目。只需接受默认选择,然后点击 Next。
可能会出现另一个对话框,询问有关默认设置的问题。点击 Start Burp 继续。
Burp Suite 加载后,你将看到主窗口。你看到的第一个选项卡是 Dashboard。
Dashboard 分为四个主要象限:
- Tasks: 此处允许你运行预定义的扫描和其他自动化任务。
- Event log: 此处提供 Burp Suite 中发生的所有重要事件的运行日志,例如代理启动或发现新问题。
- Issue activity: 此处显示 Burp Scanner 识别出的安全问题的实时信息流。
- Advisory: 此部分提供所选安全问题的详细信息和修复建议。
花点时间查看 Event log。你应该会看到指示代理服务已启动且应用程序已准备就绪的条目。此日志对于故障排除和了解 Burp 在后台执行的操作非常有用。
检查 Target 选项卡和 Site Map
在此步骤中,你将探索 Target 选项卡,该选项卡用于定义你的工作范围并查看目标应用程序结构的详细映射。
在 Burp Suite 窗口中,点击界面顶部的 Target 选项卡。
此选项卡对于组织你的测试工作至关重要。它在左侧有两个主要的子选项卡:
- Site map: 此视图提供目标应用程序内容的层级树状表示。当你通过 Burp 的 Proxy 浏览应用程序时,此映射将自动填充你发现的所有 URL 和资源。由于我们尚未浏览任何站点,此区域将基本为空。
- Scope: 此子选项卡允许你精确定义哪些主机和 URL 属于你的测试范围。任何“在范围内的”项目都将由 Burp 的工具处理,而“范围外的”项目通常会被忽略。这对于集中你的测试并避免与其它网站发生意外交互至关重要。
点击 Site map 和 Scope 子选项卡,熟悉它们的布局。理解如何管理你的目标范围是有效使用 Burp Suite 的基本技能。
理解 Proxy 选项卡的 Intercept 和 History 视图
在此步骤中,我们将查看 Proxy 选项卡,其中包含 Burp Suite 的核心工具之一。Burp Proxy 作为中间人,允许你拦截、检查和修改浏览器与目标 Web 应用程序之间的所有流量。
点击 Proxy 选项卡。
你将看到几个子选项卡。目前最重要的两个是:
- Intercept: 这是拦截流量的控制中心。当
Intercept is on按钮处于活动状态时,Burp 将暂停任何匹配的 HTTP/S 请求和响应,允许你在它们发送到目的地之前查看和编辑它们。这对于手动测试来说非常强大。点击按钮可以在Intercept is on和Intercept is off之间切换,以查看其变化。目前,请将其关闭。 - HTTP history: 此子选项卡提供了通过代理的所有 HTTP 请求的完整日志。对于每个请求,你可以查看完整的请求和响应、标头、参数等。此历史记录是理解应用程序工作原理和查找潜在漏洞的宝贵资源。
还有一个 WebSockets history 选项卡,用于记录 WebSocket 流量,这是现代实时应用程序使用的。目前,请专注于理解 Intercept 和 HTTP history 视图的功能。
定位 Repeater 和 Intruder 选项卡
在此步骤中,你将找到另外两个用于手动和自动化测试的重要工具:Repeater 和 Intruder。
首先,点击 Repeater 选项卡。
Burp Repeater 是一个简单但功能强大的工具,用于手动操作和重新发送单个 HTTP 请求。你可以将请求从另一个 Burp 工具(如 Proxy history)发送到 Repeater,修改其任何部分(例如,参数或标头),然后一遍又一遍地发送。这对于测试应用程序逻辑、验证发现和执行细粒度的手动攻击非常理想。界面是分割的,左侧显示请求,右侧显示响应。
接下来,点击 Intruder 选项卡。
Burp Intruder 是一个高度可配置的工具,用于自动化定制攻击。它的主要用途是“模糊测试”(fuzzing),即发送大量带有修改数据的请求来探测漏洞。你可以使用它来执行诸如密码暴力破解、标识符枚举或查找 SQL 注入漏洞等任务。Intruder 的工作方式是定义一个请求模板,标记载荷(payloads)的位置,然后配置载荷集和攻击类型。
花点时间查看 Repeater 和 Intruder 的界面,了解它们的目的和布局。
查找用于 BApp Store 和扩展的 Extender 选项卡
在我们本次介绍的最后一步,你将探索 Extender 选项卡,它允许你通过扩展来扩展 Burp Suite 的功能。
点击 Extender 选项卡。
这个区域是管理 Burp Suite 扩展的中心,扩展是能够引入新功能或与其他工具集成的插件。这里的主要子选项卡是:
- Extensions: 此列表显示当前加载到 Burp 中的所有扩展。你可以在此处添加、删除和配置你的扩展。
- BApp Store: 这是 Burp 官方的扩展库,其中包含由社区和 PortSwigger 员工编写的扩展。你可以浏览商店,查看每个扩展的详细信息,并一键直接安装到 Burp 中。
- APIs: 此子选项卡为希望使用 Java、Python 或 Ruby 编写自己扩展的开发者提供了文档。
- Settings: 在这里,你可以配置与运行扩展相关的 Java、Python 和 Ruby 环境的设置。
浏览 BApp Store,查看各种可用的扩展。这种可扩展性是 Burp Suite 如此受欢迎的关键原因之一。
总结
在此实验中,你成功启动了 Burp Suite,并完成了对其用户界面的全面介绍。你现在已经熟悉了最重要的选项卡的目的和布局:
- Dashboard: 用于监控任务、事件和问题的中央枢纽。
- Target: 用于定义范围和查看应用程序的站点地图。
- Proxy: 用于拦截和记录 HTTP/S 流量。
- Repeater: 用于手动修改和重新发送单个请求。
- Intruder: 用于自动化定制攻击和模糊测试。
- Extender: 用于管理扩展并通过 BApp Store 扩展 Burp 的功能。
通过对 Burp Suite UI 的这些基础了解,你现在已准备好应对涉及主动 Web 应用程序安全测试的更高级实验。
