You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Hydra对两层登录场景下的第二层页面执行暴力破解测试

解决方法

你之前的命令无法生效是因为HTTP Basic Auth的验证是通过每次请求携带Authorization请求头实现的,不属于会话级状态,两次独立的Hydra进程无法共享请求头信息,不需要分两次执行命令,直接在爆破第二层表单的命令中携带第一层Basic Auth的凭证即可。

推荐写法(避免参数冲突)

直接将第一层Basic Auth的固定账号密码写入请求地址前缀,不会和第二层爆破用的字典参数冲突,命令如下:

hydra -L usernames.txt -P passwords.txt -s 9000 -V http-post-form://<第一层Basic Auth用户名>:<第一层Basic Auth密码>@127.0.0.1/index.php:username=^USER^&password=^PASS^&Login=submit:Login failed - incorrect username or password

可选写法

也可以通过-l、-p参数传入第一层固定凭证,Hydra会自动识别为HTTP Basic Auth的认证信息:

hydra -l <第一层Basic Auth用户名> -p <第一层Basic Auth密码> -L usernames.txt -P passwords.txt -s 9000 -V 127.0.0.1 http-post-form "/index.php:username=^USER^&password=^PASS^&Login=submit:Login failed - incorrect username or password"

参数说明

  • 大写-L、-P参数对应第二层表单要爆破的用户名字典、密码字典,会自动替换请求体中的^USER^、^PASS^占位符
  • 命令执行时Hydra会直接在所有POST请求中携带第一层Basic Auth的凭证头,不需要单独先请求Basic Auth验证页,只要第一层凭证正确即可正常执行第二层爆破

内容的提问来源于stack exchange,提问作者Dan G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:02