在 Burp Suite 中配置 SSL Passthrough

Beginner
立即练习

引言

Burp Suite 是一个强大的 Web 应用安全测试平台。其核心功能之一是拦截代理(intercepting proxy),它允许你检查和修改浏览器与 Web 服务器之间的流量。然而,有时你可能希望阻止 Burp 拦截到某些主机的流量。这可能是为了避免破坏使用证书锁定(certificate pinning)的应用,通过忽略来自受信任域的高流量来提高性能,或者仅仅是为了专注于你的目标应用。

这时 SSL Passthrough(SSL 直通)就派上用场了。此功能指示 Burp Suite 将加密(TLS/SSL)流量直接传递给目标服务器,而无需尝试解密或拦截它。

在本实验(lab)中,你将学习如何在 Burp Suite 中配置 SSL Passthrough 规则,以排除所有 Google 域名不被拦截。实验环境预装了 Burp Suite Community Edition,并且浏览器已预先配置为使用 Burp 代理。

导航至 Proxy > Options > SSL Passthrough

在此步骤中,你将启动 Burp Suite 并导航至 SSL Passthrough 设置。所有操作都将在 VNC 桌面环境中进行。

首先,启动 Burp Suite:

  1. 点击屏幕左上角的 "Applications" 菜单。
  2. 导航至 Other -> Burp Suite Community Edition

此时会弹出一个对话框。在本实验(lab)中,你可以使用临时项目:

  1. 保持选中 Temporary project,然后点击 Next
  2. 在下一个屏幕上,点击 Use Burp defaults,然后点击 Start Burp

Burp Suite 打开后,你需要找到 SSL Passthrough 设置。

  1. 点击 Proxy 选项卡。
  2. Proxy 选项卡内,点击 Options 子选项卡。
  3. 向下滚动选项页面,直到找到标题为 SSL Passthrough 的部分。

你现在已位于添加新规则的正确位置。

点击 'Add' 创建新规则

在此步骤中,你将开始添加新的 SSL Passthrough 规则。

SSL Passthrough 部分允许你指定 Burp 不执行 TLS 拦截的目标。发往这些目标的任何请求都将直接传递给服务器,并且其内容不会在代理历史记录中显示。

开始之前,请在 SSL Passthrough 部分找到 Add 按钮并点击它。

点击 Add 后,会弹出一个名为 "Add SSL Passthrough rule" 的新对话框。在此对话框中,你将指定希望排除在拦截之外的主机的详细信息。

输入你不希望拦截的主机名 (例如,*.google.com)

在此步骤中,你将定义要从拦截中排除的特定主机或域名。

在你上一步打开的 "Add SSL Passthrough rule" 对话框中,你会看到一个标有 Host or IP range 的字段。在这里输入你想要绕过的目标。

你可以使用通配符 (*) 来匹配特定域名的所有子域名。这对于像 Google 这样使用许多不同子域名的大型服务非常有用(例如,www.google.commail.google.comapis.google.com)。

Host or IP range 字段中,输入以下值:

*.google.com

输入主机名后,点击 OK 按钮保存规则。对话框将关闭,你将在 SSL Passthrough 列表中看到你的新规则。

启用规则

在此步骤中,你将激活新创建的 SSL Passthrough 规则。

默认情况下,当你添加新规则时,它会以禁用状态创建。你必须显式启用它才能生效。你可以在列表中看到针对 *.google.com 的新规则,但 Enabled 列中的复选框当前未选中。

要启用规则,只需点击 *.google.com 条目旁 Enabled 列中的复选框。

一旦选中该框,规则即生效。Burp Suite 现在将自动传递所有发往 google.com 任何子域名的 TLS 流量,而不会对其进行拦截。

浏览到指定主机并验证流量未出现在代理历史记录中

在最后一步中,你将通过浏览 Google 域名并观察代理历史记录来测试 SSL Passthrough 规则。

首先,导航到 Burp Suite 中的代理历史记录日志:

  1. 确保你仍在 Proxy 选项卡下。
  2. 点击 HTTP history 子选项卡。此日志显示所有通过 Burp 代理的流量。

接下来,打开 VNC 环境中的网络浏览器:

  1. 点击 "Applications" 菜单。
  2. 导航到 Internet -> Firefox

在 Firefox 地址栏中,输入 https://www.google.com 并按 Enter 键。Google 主页应正常加载。

现在,切换回 Burp Suite 并查看 HTTP history 选项卡。你会注意到,在 www.google.com 的条目中,没有显示页面加载的详细信息(如 GET /GET /some-image.png 等)。你可能会看到一个类似 CONNECT www.google.com:443 的条目,这是初始连接设置,但加密的应用程序数据本身已“通过”,而未被记录。

为了确认代理对其他网站仍然有效,请返回 Firefox 并导航到 http://example.com。现在再次检查 Burp 中的 HTTP history。你将看到 example.com 的完整请求和响应,这证明你的 passthrough 规则仅针对 Google。

总结

在本实验中,你已成功配置并测试了 Burp Suite 中的 SSL Passthrough 功能。

你学会了如何:

  • 导航到 Burp Suite 代理选项中的 SSL Passthrough 设置。
  • 添加一条新规则以排除特定域名,使用通配符 (*.google.com) 来覆盖其所有子域名。
  • 启用规则使其生效。
  • 通过观察到发往指定域名的流量不再被拦截并记录在 HTTP 历史记录中,而发往其他域名的流量不受影响,来验证规则是否生效。

掌握此功能将有助于你在 Web 应用程序安全评估过程中创建更高效、更集中的工作流程。