引言

在本实验中,你将学习如何执行“Sniper”攻击,这是 Burp Suite Intruder 工具中最基本且常用的攻击类型之一。Burp Intruder 是一个强大的工具,用于自动化针对 Web 应用程序的定制攻击,以识别和利用安全漏洞。

Sniper 攻击旨在遍历一个 Payload 列表,将它们逐个插入到 HTTP 请求中的单个指定位置。这使其非常适合执行诸如猜测用户名、查找密码重置令牌或模糊单个参数以查找漏洞等任务。

我们将逐步介绍将请求发送到 Intruder、配置 Payload 位置、选择 Sniper 攻击类型、加载简单的 Payload 列表,最后启动攻击并分析结果的过程。在本实验中,Burp Suite 已安装在环境中。

在 Intruder > Positions 中,选择一个参数值并点击“Add §”

在此步骤中,你将定义攻击的目标。将请求发送到 Intruder 后,你需要精确指定 Payload 的插入位置。

首先,你需要有一个可用的请求。在本实验中,我们将假设你已在 Burp Proxy 中拦截了一个登录请求,并将其发送到 Intruder(通过右键单击请求并选择“Send to Intruder”)。Intruder 中的请求可能如下所示:

```http
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=myuser&password=mypass
```

默认情况下,Burp Intruder 会自动在它认为请求中有趣的部分周围添加 Payload 标记(CODE_0)。为了获得精确的控制,最好清除这些标记并设置自己的标记。

  1. 导航到 CODE0 > CODE1 选项卡。
  2. 点击右侧的 CODE_0 按钮,移除所有自动添加的 Payload 标记。
  3. 在请求编辑器中,使用鼠标仅高亮显示 CODE0 参数的值(在本例中为 CODE1)。
  4. 高亮显示该值后,点击 CODE_0 按钮。

你的请求现在应该如下所示,只有用户名值被标记为 Payload 位置:

```http
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=§myuser§&password=mypass
```

这会告诉 Intruder 只在 CODE_0 的位置插入 Payload,在每次尝试时保持请求的其余部分不变。

将攻击类型设置为“Sniper”

在此步骤中,你将为你的目标选择合适的攻击类型。Burp Intruder 提供四种不同的攻击类型,每种都有不同的用途。在本实验中,我们将使用 CODE_0

以下是攻击类型的简要概述:

由于我们的目标是在单个参数中测试一系列不同的用户名,因此 CODE_0 是完美的选择。

要设置攻击类型:

  1. 保持在 CODE0 > CODE1 选项卡中。
  2. 找到屏幕顶部的 CODE_0 下拉菜单。
  3. 点击下拉菜单,然后从列表中选择 CODE_0

你现在已将 Intruder 配置为使用 Sniper 攻击方法。

导航到 Intruder > Payloads 选项卡

在此步骤中,你将进入定义攻击实际使用数据的部分。既然你已经配置了目标位置(CODE0)和攻击类型(CODE1),下一步就是提供 Payload 列表。

Payloads 是 Intruder 将替换你在步骤 1 中定义的 CODE_0 位置的值。

要继续,只需导航到 Intruder 工具中的 CODE0 子选项卡。你会发现它就在你刚才操作的 CODE1 选项卡旁边。点击此选项卡将带你进入 Payload 配置屏幕,在下一步中你将在那里设置你的潜在用户名列表。

加载简单的 Payload 列表(例如:admin, test, user)

在此步骤中,你将配置攻击的 Payload 列表。由于我们的攻击类型是 CODE_0 并且只有一个 Payload 位置,我们只需要配置一个 Payload 集。

CODE0 > CODE1 选项卡中,你将看到 CODE2CODE3 部分。

  1. CODE0 部分下,确保 CODE1 设置为 CODE2CODE3 设置为 CODE_4。这是默认设置,用于提供一个简单的字符串列表。
  2. CODE0 部分下,你将添加你的 Payloads。你可以直接在文本框中输入,或使用 CODE1 按钮。

让我们添加一些常见的用户名进行测试:
在文本区域中,输入以下值,每行一个:

admin
test
user
root
guest

你的 CODE0 部分现在应该包含此列表。Intruder 将为列表中的每一行发送一个请求,将该值替换为你之前标记的 CODE1 参数。底部的 CODE2 现在应该显示 CODE3

发起攻击并观察结果表

在此步骤中,你将发起已配置的攻击并分析结果。在位置、攻击类型和 Payloads 都设置好之后,你就可以开始了。

  1. 要发起攻击,请点击位于 CODE0 选项卡右上角的 CODE1 按钮。
  2. 一个新的“Attack”窗口将打开,显示一个结果表。该窗口会随着 Intruder 发送每个请求而实时填充数据。

结果表是整个过程中最重要的部分。请密切关注各个列,特别是:

想要找出潜在的漏洞或有效的用户名,就得留意异常情况。比如说,成功登录可能会产生CODE0状态(重定向到仪表板),而所有失败的尝试都会导致CODE1(重新显示登录页面)。同样地,有效用户名的响应可能在CODE_2上与其他响应有所不同,因为错误消息发生了变化(例如,“密码错误”与“用户未找到”)。

通过按 CODE0CODE1 列对表格进行排序,你可以轻松地发现任何与基线不同的响应,这可能表明存在潜在的发现。

总结

在本实验中,你成功使用 Burp Intruder 执行了一个基础的 Sniper 攻击。这是任何 Web 应用程序安全测试人员的一项基本技能。

你学会了如何:

掌握 Burp Intruder 中的 Sniper 攻击,为你提供了一种强大的方法来自动化重复性测试任务,例如用户名枚举、密码猜测和常见漏洞的模糊测试。

本文转载于:https://labex.io/zh/tutorials/kali-perform-a-sniper-attack-in-burp-intruder-594009 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。