Python请求;登录DVWA

2024-10-06 12:38:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图登录到这个该死的易受攻击的Web应用程序,因为我试图编写我的第一个漏洞。但是第一个障碍是登录页面。没有有效的登录,我无法访问其他目录。在

我试图分析我必须发送的邮件头等,但我似乎还是无法使登录生效。在

POST /dvwa/login.php HTTP/1.1
Host: 192.168.26.129
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.26.129/dvwa/login.php
Cookie: security=high; PHPSESSID=c4bb8820be21ea83e6545eff0a2cb53b
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 44

username=admin&password=password&Login=Login

这是burp的全部请求,当我尝试使用浏览器登录时。在

^{pr2}$

这就是我试图使用python请求登录的方式。 我得到了一个200ok两次,但它总是返回登录屏幕的HTML代码。在

有人能告诉我我的错误是什么吗?在


Tags: mozillalinuxloginpasswordcontentfirefoxx86en
1条回答
网友
1楼 · 发布于 2024-10-06 12:38:40

如果您有有效的cookies,您可以将它们添加到会话中

cookies = dict(security='high', PHPSESSID='o9m7jgcspe02h9rffj9g7cv0t5')

with requests.Session() as c:
    c.cookies.update(cookies)

现在您可以访问/dvwa/vulnerabilities/exec。在


如果您没有Cookie,则可以使用登录页面获取它们。
在登录表单中,隐藏的输入字段中有一个您必须提交的令牌。您可以用^{}re来获得它的值。在

^{pr2}$

我使用re,因为它是一个标准库,但最好使用bs4进行html解析。如果您已经安装了bs4,那么您可以使用以下选择器获得令牌:'input[name=user_token]'。在

相关问题 更多 >