使用Hydra和Burp Suite破解在线Web表单密码

步骤1: 打开THC-Hydra

那么,让我们开始吧。 启动Kali并打开应用程序中的THC-Hydra - > Kali Linux - >密码攻击 - >在线攻击 - > hydra。

打开THC-Hydra


步骤2: 获取Web表单参数

为了能够破解Web表单用户名和密码,我们需要确定Web表单登录页面的参数以及表单如何响应错误/失败登录。 我们必须确定的关键参数是:
  • 网站的IP地址
  • 网址
  • 形式
  • 包含用户名的字段
  • 包含密码的字段
  • 失败的消息
我们可以使用诸如Tamper Data或Burp Suite之类的代理来识别其中的每一个。

步骤3: 使用Burp Suite

虽然我们可以使用任何代理来完成这项工作,包括Tamper Data,但在这篇文章中我们将使用Burp Suite。 您可以通过转到应用程序 - > Kali Linux - > Web应用程序 - > Web应用程序代理 - > burpsuite来打开Burp Suite。 当你这样做时,你应该看到如下的开始屏幕。

Burp Suite

接下来,我们将尝试破解Damn Vulnerable Web Application(DVWA)上的密码。 您可以从Metasploitable操作系统( 可在Rapid7上获得 )运行它,然后连接到其登录页面,就像我在这里一样。

DVWA

我们需要在Burp Suite上启用Proxy和Intercept ,如下所示。 确保单击顶部的“ 代理”选项卡,然后单击第二行选项卡上的“ 截取 ”。 确保“拦截已开启”。

Burp Suite启用Proxy

最后,我们需要配置我们的IceWeasel Web浏览器以使用代理。 我们可以转到编辑 - >首选项 - >高级 - >网络 - >设置来打开连接设置,如下所示。 在那里,配置IceWeasel使用127.0.0.1端口8080作为代理,方法是在HTTP代理字段中键入127.0.0.1,在端口字段中键入8080,并删除底部无代理字段中的任何信息。 此外,选择“将此代理服务器用于所有协议”按钮。

HTTP代理


步骤4:获取错误的登录响应

现在,让我们尝试使用我的用户名OTW和密码OTW登录。 当我这样做时,BurpSuite会拦截请求,并向我们展示THC-Hydra网络表单破解所需的关键字段。

登录响应

收集此信息后,我通过点击最左侧的“前进”按钮转发Burp Suite的请求。 DVWA返回“登录失败”的消息。 现在,我拥有配置THC-Hydra来破解这个网络应用程序所需的所有信息!

Burp Suite的请求

获取失败消息是让THC-Hydra在Web表单上工作的关键。 在这种情况下,它是基于文本的消息,但并不总是如此。 有时它可能是一个cookie,但关键部分是找出应用程序如何通信失败的登录。 通过这种方式,我们可以告诉THC-Hydra继续尝试不同的密码; 只有当那条消息没有出现时,我们才能成功。

步骤5:将参数放入THC Hydra命令

现在,我们有参数,我们可以将它们放入THC-Hydra命令。 语法如下所示:
kali> hydra -L <用户名列表> -p <密码列表> <IP地址> <表单参数> <登录失败消息>
因此,根据我们从Burp Suite收集的信息,我们的命令应如下所示:
kali> hydra -L <wordlist> -P <密码列表> 
192.168.1.101 http-post-form“/dvwa/login.php:username=
^USER^&password=^PASS^&Login=Login:Login failed”
有几点需要注意。 首先,如果您使用的是用户名列表,则使用大写“L”;如果您尝试破解您在那里提供的一个用户名,则使用小写“l”。 在这种情况下,我将使用小写“l”,因为我只会尝试破解“管理员”密码。
在登录表单的地址( /dvwa/login.php )之后,下一个字段是获取用户名的字段的名称。 在我们的例子中,它是“用户名”,但在某些形式上它可能是不同的,例如“登录”。
现在,让我们组合一个命令来破解这个Web表单登录。

步骤6:选择一个Wordlist

现在,我们需要选择一个词表。 与任何字典攻击一样,词汇表是关键。 您可以使用由Crunch of CeWL制作的自定义单词 ,但Kali有很多内置的单词列表。要查看所有单词列表,只需键入:
kali> locate wordlist
此外,还有许多在线网站都有单词列表,最高可达100 GB! 明智地选择,我的黑客不可思议。 在这种情况下,我将使用一个少于1,000字的内置词表:
/usr/share/dirb/wordlists/short.txt

步骤7:构建命令

现在,让我们用所有这些元素构建我们的命令,如下所示:
kali> hydra -l admin -P /usr/share/dirb/wordlists/small.txt 
192.168.1.101 http-post-form“/dvwa/login.php
:username=^USER^&password=^PASS^&Login=Login:登录失败“-V

构建命令

  • -l表示单个用户名(使用-L表示用户名列表)
  • -P表示使用以下密码列表
  • http-post-form表示表单的类型
  • / dvwa / login-php是登录页面URL
  • username是输入用户名的表单字段
  • ^ USER ^告诉Hydra使用字段中的用户名或列表
  • password是输入密码的表单字段(可以是passwd,pass等)
  • ^ PASS ^告诉Hydra使用提供的密码列表
  • 登录表示Hydra登录失败消息
  • 登录失败是表单返回的登录失败消息
  • -V用于显示每次尝试的详细输出

步骤8:让它跑起来!

现在,让它跑起来吧! 由于我们使用-V开关,THC-Hydra将向我们展示每一次尝试。\

Hydra

几分钟后,Hydra返回我们的Web应用程序的密码。 成功!

hydra成功


最后

尽管THC-Hydra是一种有效且优秀的在线密码破解工具,但在Web表单中使用它时,需要一些练习。 在Web表单中成功使用它的关键是确定表单对失败登录的响应方式与成功登录的响应方式。 在上面的示例中,我们确定了失败的登录消息,但我们可以识别出成功的消息并使用它。 要使用成功的消息,我们将使用“S =成功消息”替换失败的登录消息,例如:
kali> hydra -l admin -P /usr/share/dirb/wordlists/small.txt 
192.168.1.101 http-post-form“/dvwa/login.php:
username=^USER^&password=^PASS^&S=success message “-V
此外,一些Web服务器会注意到许多快速失败的登录尝试并锁定您。 在这种情况下,您将需要使用THC-Hydra中的等待功能。 这将在尝试之间添加等待,以便不触发锁定。 您可以将此功能与-w开关一起使用,因此我们通过编写命令来修改命令,在两次尝试之间等待10秒:
kali> hydra -l admin -P /usr/share/dirb/wordlists/small.txt 192.168.1.101 
http-post-form“/dvwa/login.php:
username=^USER^&password=^PASS^&Login=Login:登录失败“-w 10 -V
我建议你在可以使用THC-Hydra的地方练习破解用户名和密码,然后“实战”中使用它。

如果你希望继续扩展你的黑客技术,请关注我的博客!


有不懂的地方可以扫码提问我:

提问


打赏:

打赏

猜你喜欢

转载自blog.csdn.net/chk218/article/details/81136436