将请求发送到 Burp Suite 的 Intruder

Beginner
立即练习

引言

Burp Suite Intruder 是一个强大的工具,用于自动化针对 Web 应用程序的定制化攻击。它极其灵活,可以用于执行各种任务,从简单的模糊测试(fuzzing)到复杂的枚举(enumeration)。

使用 Intruder 的第一步也是最基本的一步是选择一个请求并将其发送到工具进行配置。在本实验(lab)中,你将学习如何使用 Burp Proxy 捕获包含参数的请求,然后将其发送到 Intruder 工具。这是使用 Intruder 执行任何类型攻击的基础技能。

在 Proxy History 中查找带有参数的请求

在此步骤中,你将通过提交一个登录表单来生成 Web 流量,然后在 Burp Suite 的 Proxy History 中找到由此产生的请求。这个捕获到的请求将是我们接下来的工作对象。

首先,让我们生成请求。

  1. 从桌面或应用程序菜单中打开 Web Browser 应用程序。
  2. 在浏览器的地址栏中,导航到 http://127.0.0.1:8000。你应该会看到一个简单的登录页面。
  3. 表单已预先填充了 testusertestpass。点击 Submit 按钮。
  4. 浏览器将显示“Invalid Credentials”,这是预期的结果。重要的是,我们现在已经发送了一个带有参数的 POST 请求。

现在,让我们在 Burp Suite 中找到这个请求。

  1. 切换到 Burp Suite 窗口。
  2. 点击 Proxy 选项卡。
  3. Proxy 选项卡下,点击 HTTP history 子选项卡。
  4. 你将看到所有你的浏览器通过 Burp 发送的请求列表。查找“Method”列显示 POST,“URL”列显示 /login 的请求。点击它以选中它。

选中请求后,你可以在下方的面板中看到它的完整内容,包括我们提交的 usernamepassword 参数。

右键单击请求并选择“Send to Intruder”

在此步骤中,你将把从 Proxy history 捕获的 POST /login 请求发送到 Intruder 工具。此操作会将请求复制到 Intruder,你可以在那里配置攻击。

  1. 确保 POST /login 请求在 Proxy > HTTP history 表格中仍然被高亮显示。
  2. 在该请求的行上任意位置右键单击以打开上下文菜单。
  3. 在上下文菜单中,将鼠标向下移动到选项列表,然后点击 Send to Intruder

或者,你也可以选中该请求并使用键盘快捷键 Ctrl+I

点击“Send to Intruder”后,Proxy 选项卡不会立即发生变化,但窗口顶部的 Intruder 主选项卡会变成橙色,表示它已收到新请求并准备好供你处理。

导航到 Intruder > Positions 选项卡

在此步骤中,你将导航到 Intruder 工具以查看你刚刚发送的请求。Positions 选项卡是默认视图,你可以在此定义请求的哪些部分将在攻击期间被修改。

  1. 查看 Burp Suite 窗口顶部的选项卡。你应该会看到 Intruder 选项卡现在已高亮显示(通常是橙色)。
  2. 点击 Intruder 选项卡以切换到 Intruder 工具。

默认情况下,你将被带到 Positions 子选项卡。此屏幕分为两个主要部分:顶部的目标信息(Host 和 Port)以及下方的请求编辑器,其中显示了你从 Proxy 发送的请求。你将在该处配置攻击参数。

观察自动识别的 Payload 位置

在此步骤中,你将检查 Burp Suite 如何自动识别请求中的潜在 payload 位置。这些位置是 Intruder 在攻击期间将插入 payload 的位置。

当请求被发送到 Intruder 时,Burp Suite 会自动分析它,并猜测你可能想要攻击哪些部分。它将这些部分标记为“payload 位置”。

Intruder > Positions 选项卡中,查看请求编辑器。你会看到 usernamepassword 参数的值被高亮显示,并被特殊符号 § 包围。

请求体看起来会像这样:

username=§testuser§&password=§testpass§

每一对 §...§ 符号定义了一个 payload 位置。Burp 在这里自动创建了两个位置,一个用于用户名,一个用于密码。在屏幕右侧,你可以看到“Attack type”默认设置为 Sniper,它会一次迭代一个位置的 payload。

这种自动检测是一个方便的起点,但对于许多攻击,你可能需要手动定义位置。

使用“Clear §”按钮清除默认位置

在此步骤中,你将学习如何清除自动定义好的 payload 位置。当你想要设置一个更具针对性的攻击时,例如只测试密码字段而不是所有参数,这是至关重要的一步。

在请求编辑器的右侧,有一组按钮:Add §Clear §Auto §Refresh

  1. 找到 Clear § 按钮。
  2. 点击 Clear § 按钮。

点击后,你会看到请求编辑器中的所有高亮和 § 符号都已被移除。请求体现在看起来很干净,如下所示:

username=testuser&password=testpass

现在请求已准备好,你可以手动选择请求的特定部分(例如只选择 testpass 的值),并使用 Add § 按钮来定义你自己的自定义 payload 位置。这让你能够完全控制攻击。

总结

在本实验中,你已成功学习了使用 Burp Suite Intruder 的基本第一步。

你首先使用浏览器生成流量,并在 Proxy 历史记录中找到特定的 POST 请求。然后,你学会了如何将此请求发送到 Intruder 工具。最后,你观察了 Burp Intruder 如何自动标记 payload 位置,以及如何清除这些默认设置以准备自定义攻击配置。

掌握这个工作流程是利用 Burp Intruder 的强大功能进行 Web 应用程序安全测试的基础。