介绍
在这个房间中,我们将探索 Burp Suite 的 Intruder 模块,该模块提供自动请求操作并支持模糊测试和暴力破解等任务。如果您不熟悉 Burp Suite 的Proxy和Repeater功能,建议您至少完成Burp Suite The Basic房间的学习,然后再继续。
Burp Suite 的 Intruder 模块是一个功能强大的工具,可以进行自动化和可定制的攻击。它提供了修改请求的特定部分并使用输入数据的变化执行重复测试的能力。 Intruder 对于模糊测试和暴力破解等任务特别有用,这些任务需要针对目标测试不同的值。
什么是Intruder
Intruder 是 Burp Suite 的内置模糊测试工具,允许自动修改请求并通过输入值的变化进行重复测试。通过使用捕获的请求(通常来自代理模块),Intruder 可以根据用户定义的配置发送多个带有稍微更改值的请求。它有多种用途,例如通过用单词列表中的值替换用户名和密码字段来暴力破解登录表单,或者使用单词列表执行模糊攻击来测试子目录、端点或虚拟主机。 Intruder 的功能与Wfuzz 或ffuf等命令行工具相当。
然而,需要注意的是,虽然 Intruder 可以与 Burp Community Edition 一起使用,但它是有速率限制的,与 Burp Professional 相比,其速度显着降低。这种限制通常导致安全从业者依赖其他工具进行模糊测试和暴力破解。尽管如此,Intruder 仍然是一个有价值的工具,值得学习如何有效地使用它。
让我们探索一下 Intruder 界面:
Intruder 的初始视图提供了一个简单的界面,我们可以在其中选择目标。如果已从代理发送请求(使用Ctrl + I
或右键单击并选择“发送到Intruder ”),则该字段将已填充。
Intruder 中有四个子选项卡:
Intruder 中有四个子选项卡:
- 位置:此选项卡允许我们选择攻击类型(我们将在以后的任务中介绍)并配置我们想要在请求模板中插入有效负载的位置。
- 有效负载:在这里我们可以选择要插入到“位置”选项卡中定义的位置的值。我们有各种有效负载选项,例如从单词列表加载项目。这些有效负载插入模板的方式取决于在 “位置”选项卡中选择的攻击类型。“有效负载”选项卡还使我们能够修改入侵者有关有效负载的行为,例如为每个有效负载定义预处理规则(例如,添加前缀或后缀、执行匹配和替换,或根据定义的正则表达式跳过有效负载)。
- 资源池:此选项卡在 Burp 社区版中并不是特别有用。它允许在 Burp Professional 中的各种自动化任务之间进行资源分配。如果无法访问这些自动化任务,此选项卡的重要性就有限。
- 设置:此选项卡允许我们配置攻击行为。它主要涉及 Burp 如何处理结果和攻击本身。例如,我们可以标记包含特定文本的请求或定义 Burp 的响应以重定向 (3xx) 响应。
注意:术语“模糊测试”是指通过将一组数据应用于参数来测试功能或存在性的过程。例如,Web 应用程序中端点的模糊测试涉及获取单词列表中的每个单词并将其附加到请求 URL(例如,http://10.10.xxx.xxx/WORD_GOES_HERE)以观察服务器的响应。
任务二问题:
我们可以在哪个Intruder 选项卡中为我们计划的攻击定义“攻击类型”? 答案:Positions
Positions(位置)
当使用Burp Suite Intruder 执行攻击时,第一步是检查请求中我们想要插入有效负载的位置。这些位置告知 Intruder 我们的有效负载将被引入的位置(我们将在接下来的任务中探索)。
让我们导航到“Positions”选项卡:
请注意,Burp Suite会自动尝试识别最有可能插入有效负载的位置。这些位置以绿色突出显示,并用剖面标记 ( §
) 括起来。
在界面的右侧,我们找到以下按钮:Add §
、Clear §
和Auto §
:
- 该
Add §
按钮允许我们通过在请求编辑器中突出显示新位置然后单击该按钮来手动定义新位置。 - 该
Clear §
按钮会删除所有已定义的位置,从而提供一个空白画布,我们可以在其中定义自己的位置。 - 该
Auto §
按钮会根据请求自动尝试识别最有可能的位置。如果我们之前清除了默认位置并希望将其恢复,则此功能非常有用。
花一些时间来熟悉使用Burp Suite Intruder 界面添加、清除和自动选择位置。
任务三问题:
什么符号定义有效负载位置的开始和结束? 答案:§
Payloads(有效负载)
在Burp Suite Intruder 的“有效负载”选项卡中,我们可以为攻击创建、分配和配置有效负载。该子选项卡分为四个部分:
1.有效负载集:
1.此部分允许我们选择要配置有效负载集的位置,并选择要使用的有效负载类型。
2.当使用仅允许单个有效负载集(狙击手或攻城锤)的攻击类型时,“有效负载集”下拉列表将只有一个选项,无论定义的位置数量如何。
3.如果我们使用需要多个有效负载集的攻击类型(干草叉或集束炸弹),则每个位置的下拉列表中都会有一个项目。
4.注意:在“有效负载集”下拉列表中为多个职位分配编号时,请遵循从上到下、从左到右的顺序。例如,对于两个位置 ( username=§pentester§&password=§Expl01ted§
),有效负载集下拉列表中的第一项将引用用户名字段,第二项将引用密码字段。
2.有效负载设置
本部分提供特定于当前负载集所选负载类型的选项。
例如,当使用“简单列表”有效负载类型时,我们可以使用添加文本框、粘贴行或从文件加载有效负载手动向集合添加或删除有效负载。 “删除”按钮可删除当前选定的行,“清除”按钮可清除整个列表。加载巨大的列表时要小心,因为它可能会导致 Burp 崩溃。
每种有效负载类型都有自己的一组选项和功能。探索可用的选项以了解可能性的范围。
3.有效负载处理:
1.在本节中,我们可以定义在将负载发送到目标之前应用于集合中的每个负载的规则。
2.例如,我们可以将每个单词大写,跳过与正则表达式模式匹配的有效负载,或者应用其他转换或过滤。
3.虽然您可能不会经常使用此部分,但当您的攻击需要特定的有效负载处理时,它可能非常有价值。
4.有效负载编码
该部分允许我们自定义有效负载的编码选项。
默认情况下,Burp Suite应用 URL 编码来确保有效负载的安全传输。然而,在某些情况下我们可能想要调整编码行为。
我们可以通过修改要编码的字符列表或取消选中“对这些字符进行 URL 编码”复选框来覆盖默认的 URL 编码选项。
通过利用这些部分,我们可以创建和自定义有效负载集,以满足攻击的特定要求。这种控制级别使我们能够微调有效负载以进行有效的测试和利用。
任务四问题:
我们可以使用哪种有效负载处理规则在集合中每个有效负载的末尾添加字符? 答案:add suffix
Sniper(狙击手)
Sniper攻击类型是 Burp Suite Intruder 中默认且最常用的攻击类型。它对于单位置攻击特别有效,例如密码暴力破解或API端点模糊测试。在 Sniper 攻击中,我们提供一组有效负载,可以是单词列表或一系列数字,入侵者将每个有效负载插入到请求中的每个定义位置。