首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暴力-强制DVWA登录页面不正确

暴力-强制DVWA登录页面不正确
EN

Security用户
提问于 2022-12-22 07:47:46
回答 1查看 522关注 0票数 1

我在学习如何使用水龙头,但我发现了一个问题。

当我运行以下脚本时,我会得到一个CSRF令牌错误。显然,问题在于以卷曲方式接收的令牌与在hydra中接收的令牌不同。

按步骤排列的Step:

我已经创建了这个docker-compose.yml文件:

代码语言:javascript
复制
version: '3.8'
services:
  web-dvwa:
    container_name: dvwa
    image: vulnerables/web-dvwa:latest
    ports:
      - 127.0.0.1:8001:80

之后,我安装了hydra (Hydra v9.5-dev)并创建了bash脚本:

代码语言:javascript
复制
#!/bin/bash
CSRF=$(curl -s -c dvwa.cookie "127.0.0.1:8001/login.php" | awk -F 'value=' '/user_token/ {print $2}' | cut -d "'" -f2)
SESSIONID=$(grep PHPSESSID dvwa.cookie | awk -F ' ' '{print $7}')

hydra 127.0.0.1 -s 8001 \
    -l admin -p password \
    http-post-form "/login.php:username=^USER^&password=^PASS^&Login=Login&user_token=${CSRF}:H=Cookie\: PHPSESSID=${SESSIONID}; security=weak:S=index.php" \
    -vVd

这个解决方案可以工作,但是我得到了一个CSRF令牌无效错误

错误跟踪(我认为):

  1. 用卷曲法获得CSRF和SESSIONID
  2. 运行水龙头
  3. 九头蛇:发送一个GET (修改后的CSRF形式令牌)
  4. 九头蛇:发送邮件请求
  5. 九头蛇:发送recevied GET dvwa x 192.168.32.1 -- "GET /login.php HTTP/1.1“200 1937 - "curl/7.81.0”dvwa = 192.168.32.1 -- "GET /login.php HTTP/1.0“200 1898 - "Mozilla/5.0 (Hydra)”dvwa = 192.168.32.1 --“/login.php HTTP/1后”。0“302 384 "-”Mozilla/5.0 (九头蛇)“dvwa = 192.168.32.1 - "GET /login.php HTTP/1.0”2001948- "Mozilla/5.0 (九头蛇)“

如何解决这个问题?谢谢!

EN

回答 1

Security用户

回答已采纳

发布于 2022-12-22 09:16:20

"dvwa“为每个响应生成一个新的CSRF令牌。这是CSRF保护应该如何工作。就像在你的脚本中一样,你只提取了一次。因此,只有您的第一个请求从"hydra“使用正确的CSRF令牌。所有后续请求都使用过时的CSRF令牌。

你能做什么?使用其他一些工具,例如陶器。或者用Python创建自己的脚本。后者将有一个优势,那就是你将在web应用程序中学到很多关于安全性的知识。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/267236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档