使用burpsuite的Intruder模块进行模糊测试Fuzzing ①

使用burpsuite的Intruder模块进行模糊测试Fuzzing ①

无论是猜测登录凭证还是为特定漏洞选择有效的payload,这两项工作都很耗时,并且如果手动完成,则需要大量的排列组合才能为其构建字典。但是,是否有一种方法可以把所有这些操作都只需单击一下就可以完成,而您只需要坐下来分析结果?

今天,在这篇文章中,我们将学习最常见的技术即“模糊化”,通过在Web应用程序与预先定义的payload列表利用一些漏洞,借助web应用程序burpsuite的“Intruder”选项卡提供的功能

模糊测试简介

什么是模糊测试?

模糊测试在软件测试过程中起着至关重要的作用。通过一组称为绒毛的部分任意输入,注入到要测试的应用程序中,该技术可用于查找错误,故障和漏洞。模糊器以文件格式获取结构输入,以区分有效输入和无效输入。

但是,Fuzzer工具最适合识别漏洞,例如SQL注入,缓冲区溢出,跨站脚本,OS命令注入等。

Burp Suite如何作为Fuzzer工作?

Burp Suite带有集成的HTML Fuzzer,通常称为Burp Intruder。这个Burp Intruder为我们提供了许多机会,可以以最可定制的方式模糊测试注入点。

为了使模糊测试成为可能,我们需要将字典添加为payloads列表。但是,Burp Suite的专业版为我们提供了一个选项,可以根据攻击类型选择包含最常见的模糊字符串的预定义列表

让我们通过一些简单的步骤找到它。

  • 首先,我们需要拦截HTTP请求,发送到Intruder。
  • 一旦这样做,我们将定义需要进行模糊测试的参数或注入点。
  • 最后,需要使用它来定义攻击类型和payloads列表

并且,一旦我们通过点击“攻击”按钮发起了模糊测试,我们就会得到输出结果,指出所有可能的攻击和丢弃。由此,我们可以分析它们并找到关键的命中点。

带有Burp内置的有效负载清单的模糊测试

到目前为止,您可能还不清楚什么是模糊测试,以及Burp Suite的Intruder(入侵者)如何帮助我们模糊测试Web应用程序。因此,让我们深入研究并拦截一些请求,以便使用burp的预定义有效负载列表来模糊测试应用程序

模糊测试登录凭据:

用户名和密码在应用程序中起着主要作用,因此,如果我们能够以最佳方式模糊测试它们,我们将能够绕过身份验证阶段。因此,让我们开始吧。

1.“密码”字段使用“密码”列表和“短词”列表进行模糊处理

打开burpsuite以拦截请求,然后将其共享给Intruder

现在,通过单击“添加”按钮来配置需要将有效负载注入的位置。甚至操纵“攻击类型”,它确定有效载荷如何在注入点(有效载荷位置)命中。

有效负载位置: 12345(用户输入作为密码)

攻击类型:Sniper (一个有效载荷)

选择有效负载选项为攻击配置简单的有效负载列表

Burp的Intruder包含用于测试通用密码的模糊字符串,因此让我们在此处选择“密码”选项。

点击“攻击”按钮并发起攻击。

一旦这样做,我们的burpsuite 就会通过发送请求击中相应用户名的正确密码来发起攻击。

现在,从给定的应用字符串列表中,双击长度部分,以升序对它们进行排序。此外,选择长度最小的一个。

酷!从下图可以看到,使用有效载荷zombie”,我们获得了302成功。

让我们检查密码是否正确,在登录字段上使用bee:zombie。接下来,我们将进入应用程序内部。

有时,用户配置的密码不在“密码有效负载”列表中,因此,在这种情况下,我们可以使用其他Burpsuite的预定义列表,即“简短单词”

让我们为用户Raj捕获HTTP请求然后以相同的方式将其共享给“入侵者”选项卡。

在那边,我们将点击“添加”按钮再次设置有效载荷位置,即123 。

现在,这次,我们选择“字典有效负载”列表,而不是“密码”选项。

激活“添加”按钮并分析输出响应。

一旦按照升序对长度选项进行排序,我们将获得密码movie

2.使用“用户名”列表模糊的“用户名”字段

有时候,我们会遇到这样的情况:使用通用密码,但是我们不知道有多少用户使用相同的密码,如果知道,那么用户名是什么。

因此,为了解决这个难题,burpsuite提供了一个更大的有效负载列表,其中包含所有常见的用户名。让我们尝试使用它。

返回burpsuite并捕获登录请求,并与入侵者共享。此外,将注入点设置为“ random” 

注意 –在这里,我们猜测所有可能的用户,其密码均为“ admin”

点击“攻击”按钮,然后就可以了。我们以“ ADMIN”和“ admin”作为最常用的密码admin的用户名!

模糊测试SQL注入

SQL注入是可以找到的最关键的漏洞之一。但是,此漏洞主要在用户输入字段中遇到。要了解有关SQL注入的更多信息,请单击此处

Burp Suite为SQL注入模糊测试提供了一个单独的payload列表,但是常见的模糊测试列出了快速和完整的模糊测试,它们还为SQL注入,OS命令注入,跨站点脚本以及更多内容提供了一些payload。因此,这次,我们将使用Fuzzing –完整列表,以绕过登录门户。

通过类似的方式,让我们捕获test.vulnweb登录门户的正在进行的HTTP请求,并将其与Intruder共享。

是时候设置位置和攻击类型了。在这里,我添加了两个位置,即uname和fuzzing的传递。同时,由于我们有两个有效载荷位置,因此这次我选择了“Cluster Bomb(群集炸弹)”

有了这些,我们选择有效负载位置1Fuzzing –完整列表,以便在应用程序中找到SQL漏洞。

对于位置2,选择相同的位置

从下面的截图,你可以看到,当我们改变长度的部分递减顺序我们得到了一些成功的返回值

现在,让我们在登录字段中以用户名=’–密码=’检查第一个捕获的响应。

从下面的屏幕截图中,您可以看到我们已成功绕过了登录凭据。

模糊测试查找隐藏文件

对于普通用户而言,有许多网页是隐藏的,但是它们存在于Web应用程序中。但是,很难确定哪个网页给出200(成功),302重定向或404未找到。

因此,为了使我们的工作变得容易,burpsuite列出了一些令人称奇的有效负载列表,其中包含几乎许多隐藏在网页内某个位置的常用网页。

回到bWAPP Web应用程序仪表板,让我们捕获 一个HTTP Request,并与它一起再次与入侵者共享。

将有效负载位置配置为portal,并将攻击类型配置为Sniper”。

现在,让我们选择“有效负载”列表,这次我们将其选择为“文件名-短”。此外,我们点击“攻击”按钮继续。

从下图可以看出,有许多我们不知道的文件,让我们检查一下这个秘密文件

一旦我们使用secret.php操作portal.php ,我们将进入一个意外的页面,显示“您的秘密:任何错误?”

这些是Web应用程序中最常见的文件名,但是唯一的文件名呢?文件名-长为我们提供了追捕他们更大范围的可能性。

现在,在有效负载选项中,不再使用文件名-short,而是选择文件名-long。

按下“攻击”按钮后,就会开始进行模糊测试,因此几分钟后,我们就会看到重定向网页。

让我们使用captcha.php操作portal.php,并检查它提供给我们什么。

模糊测试查找文件上传扩展名限制

文件上传漏洞是基于Web的应用程序中的主要问题之一。在这里,攻击者上传一个文件 一些恶意 代码,因而 可能被服务器直接过滤。您可以从此处了解有关文件上传漏洞的更多信息。

有时,Web开发人员会阻止某些文件扩展名以使其Web应用程序安全。但是,要确定哪个扩展被开发人员阻止几乎是不可能的。

但是,我们可以用最简单的方法之一来完成这项任务,即通过模糊测试。Burp的入侵者也为此内置了一个有效负载列表,让我们这次使用它。

最初,在文件上传选项上方,选择一个特定文件。

以与我们之前类似的方式捕获请求,并将其共享给入侵者。

现在,让我们设置Paylaod位置,在这里我们将使用现有的文件扩展名来进行设置。

最后,选择内置的有效负载列表。选择扩展-短“攻击”按钮以启动模糊测试。

让我们使输出分析起来更简单一些,我们将使用grep选项来确定哪些扩展被阻止,哪些未被阻止

因此,在“选项”选项卡上,向下滚动到“ Grep-匹配”字段,在其中删除所有预定义的关键字,并在此添加“已阻止”

注意

此“被阻止”的关键字是有意添加的,因为这是在上传错误的文件扩展名时生成的错误。因此,当您上传受限文件时,您必须使用显示为错误消息一部分的关键字而不是被阻止的关键字。

只要我们运行“攻击”按钮,我们将被重定向到显示输出的下一个页面。双击“阻止”部分以对请求进行排序。

从下图可以看到,我们提到了所有被阻止的扩展。现在,我们可以简单地上传任何带有扩展名的文件,而不是带有标记的文件。

未勾选的后缀名就是可用列表.

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注