Web应用程序黑客攻击:使用Burp套件(Web应用程序身份验证)在线破解密码

欢迎回来,我雄心勃勃的网络战士!

在本系列中,我们将探索破解Web应用程序的无数种方法。如您所知,Web应用程序是那些运行从隔壁邻居的网站到运行世界的全能金融机构的所有内容的应用程序。这些应用程序中的每一个都容易受到攻击,但并非全部以相同的方式。

Port Swigger的Burp Suite是用于Web应用程序渗透测试的多功能且功能强大的工具。除了Web表单身份验证测试外,它还可用于测试会话ID随机化,注入攻击,模糊测试和许多其他攻击。我们将尝试在本系列中检查这些BurpSuite函数中的每一个。

在这里,我们将在我们的Metasploitable OS或OWASP Broken Web App VM上使用该死的易受攻击的Web应用程序(DVWA)。

请注意,密码攻击不会对所有Web表单都有效。通常,Web 应用程序会在多次尝试失败后将您锁定。此外,这种攻击取决于有一个好的密码列表,因为应用程序会遍历每个可能的密码来寻找匹配项(除了暴力破解密码,这是非常耗时和资源的)。话虽如此,密码破解Web表单是破解Web身份验证的良好起点。当然,我们将在后续教程中介绍其他形式的中断身份验证。

我们将使用Kali内置的免费版本的Burp Suite。如果您没有使用Kali,可以在此处下载。这个免费版本具有一些有限的功能,非常适合学习或在实验室中使用,但是对于现实世界的黑客攻击,您可能需要购买Pro版本(399美元)。此外,请确保您的系统配备了 JDK 11 或更高版本。BurpSuite是一个Java应用程序,需要这个版本的JDK才能正常工作。

第 1 步:启动 Kali 和 DVWA

让我们从启动Kali开始,并在另一个系统或VM上启动DVWA。接下来,启动 Burp Suite。您将首先受到如下所示的屏幕的欢迎。您只能在社区版中创建“临时项目”。单击“下一步”。

接下来,选择“使用打嗝默认值”,然后单击“开始打嗝”。

然后,我们需要单击“代理”选项卡…

…并启用拦截。这就是BurpSuite能够拦截进出服务器的流量的方式。

步骤 2:打开 Web 浏览器

现在打开浏览器并将其设置为使用代理。在 Mozilla 的 Firefox 中,转到“首选项”->网络连接”。在那里,您会在下面找到这样的窗口。将其设置为在端口 8080 上的 127.0.0.1 上代理浏览器请求。

确保单击“确定”,以便浏览器保存新设置。

步骤#3:使用浏览器导航到DVWA。

目标系统启动并运行后,让我们打开浏览器并导航到 Metasploitable 系统或 OWASP Broken Web Apps VM 的 IP 地址。在任一系统上,导航到该死的易受攻击的 Web 应用 (DVWA)。

到达那里后,选择DVWA,这将打开如下所示的登录屏幕。

在这里,我输入了我的用户名,OTW和我的密码,HackersArise。您不需要输入正确的凭据。

步骤 4:拦截登录请求

在发送登录凭据之前,请确保已打开 Burp Suite Proxy 截获,并在浏览器中设置了代理设置。然后,当您发送请求时,代理将捕获请求,如下面的屏幕截图所示。

请注意,我的用户名和密码位于登录请求的最后一行。

步骤5:将请求发送给Burp Suite Intruder

接下来,我们需要将此请求发送给Burp Suite Intruder。右键单击此屏幕,然后选择“发送给入侵者”,如下所示。

这将打开BurpSuite入侵者。在第一个屏幕中,入侵者将显示目标的IP地址。它已从截获的请求中收集了此信息。如果错误,请在此处进行更改。另请注意,它假定您使用的是端口 80。再一次,如果您尝试在另一个端口或服务上进行身份验证,请在此处进行更改,但BurpSuite通常可以正确使用。

接下来,单击“仓位”选项卡。它将突出显示它认为在破解此身份验证表单时需要使用的字段。

由于我们要手动设置位置,请单击最右侧的“清除”按钮。

在这次尝试中,我们将尝试破解OTW的密码。这假设我们知道用户的用户名并且只需要密码(要从Wordpress站点获取用户名,wpscan非常适合提取用户名)。

在这里,我们将突出显示您要尝试破解的一个字段,即密码,然后单击右侧的“添加”按钮

步骤 6:设置攻击类型

现在,我们需要设置攻击类型。BurpSuite Intruder中有四种类型的攻击:

1. 狙击手

单组有效负载。它以每个有效负载为目标,并将每个有效负载放置在每个位置。

2. 集束炸弹

多个有效负载集。每个位置都有不同的有效负载集。

3. 音叉

多个有效负载集。每个位置都有不同的有效负载集。它同时循环访问每个有效负载集。

4. 殴打公羊

单组有效负载。它使用单个有效负载集,并在每个位置运行它。

有关这些有效负载差异的更详细说明,请参阅 Burp Suite 文档。

BurpSuite入侵者默认为“狙击手”,因此让我们将其保留为狙击手以进行此攻击。

步骤 6:设置负载

现在,我们需要设置指定的有效负载。这些是入侵者将要攻击的领域。选择有效负载集#1并输入一些几乎每个系统都有的常用密码,例如“管理员”,“来宾”,“系统管理员”,“系统”,“根”,“密码”等。

此外,让我们从Hackers-Arise(www.hackers-rise/password-lists)中选择top10000_passwords.txt。这些是过去几年中暗网转储中最常见的10,000个密码。在第一次尝试破解这些表单中的密码时,使用常用密码始终是一个好主意。

接下来,我们需要单击右上角的“开始攻击”按钮。

这将启动BurpSuite,尝试登录DVWA,迭代列表中的每个密码。请注意,在上面的屏幕截图中,每次尝试的状态 (302) 和长度 (558) 都相同。我们正在寻找的是一种尝试,其中状态和长度与其他表示成功登录的尝试不同。

步骤#7:集束炸弹技术

在这种技术中,我们将假设用户名或密码都是未知的。我们将需要使用两个有效载荷;一个是用户名,一个是密码。我们将添加用户名字段和密码字段作为有效负载。我们还会将攻击类型设置为“集束炸弹”。

对于这种类型的攻击,BurpSuite将在用户名和密码字段中尝试各种列表组合。这是一种更复杂,更耗时的攻击,但如果您不知道用户名,则有必要这样做。

接下来,让我们单击“有效负载”选项卡。选择负载集 2,然后从负载类型下拉窗口中,选择字符替换

选择字符替换后,BurpSuite将“捣碎”您的密码列表,替换典型的字母/数字替换(教导用户将字母更改为数字以防止字典攻击)。如下图所示,默认字符替换是;a=4 b=8,e=3,依此类推。这是用户使用的典型替换,在大多数情况下应该工作,但您可以在此处自定义或添加其他字母替换。

现在,通过单击“项目”窗口左侧的“加载”按钮,就像上一次攻击一样添加密码列表。请注意,我们的尝试次数已超过 20 亿次,而不是像之前的尝试那样只有 10,000 个请求!这是因为每个单词都将尝试作为用户名,然后每个单词将尝试作为密码。此外,此方法将使用我们上面启用的字符替换创建其他密码和用户名。

在最后一步中,单击“开始攻击”。由于我们将尝试20亿个用户名和密码组合,因此这将是一项繁琐且耗时的任务。这就是不受限制的BurpSuite Pro证明其价值的地方!

正如您在上面看到的,BurpSuite会尝试将我们列表中的每个单词作为用户名,然后尝试将列表中的每个单词作为密码。

就像上面的攻击一样,我们正在状态和长度字段中查找异常。这些通常表示登录成功。

步骤 8:读取结果

在这里,重要的是要注意一些事情。首先是状态列。请注意,屏幕截图中的所有请求都是“302”或“找到”。另请注意,响应的长度都是统一的 (558)。

该统一长度的消息将是统一的错误请求响应。当响应具有不同的长度和不同的代码(200)时,它将需要进一步调查,因为它可能具有正确的用户名和密码。您可以通过单击“状态”标头或“长度”标头并按这两个字段对结果进行排序来查找这些异常,而不是手动搜索所有 20 亿个响应。

总结

BurpSuite是一个优秀且多功能的工具,每个Web应用程序渗透测试人员/黑客都应该熟悉它。在这里,我们用它来破解Web应用程序登录,使用简单快速的狙击手攻击已知用户名和未知密码,然后更耗时的集群炸弹攻击,对未知的用户名和密码组合进行字符替换。

在未来的教程中,我们将使用BurpSuite进行额外的Web应用程序渗透测试/黑客攻击,因此请继续回来我的有抱负的网络战士!

发表评论

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

滚动至顶部