目录
实训目的
爆破dvwa靶场
实训环境
Windows7(安装有phpstudy、搭建有靶场)
Windows11(安装有火狐浏览器、Burpsuite)
实训工具
火绒浏览器(插件)、Burpsuite、phpstudy
实训准备
在win11上保持phpstudy开启,并搭建靶场完毕
实训步骤
一、Low等级
1.在dvwa security选项中,调整dvwa的难易程度为low
2.抓包准备工作:(1)打开火狐插件
(2)打开bp抓包
3.登陆错误用户密码,在Burpsuite中抓包
4.成功抓包,右键选择发送到intruder
5.先选择clear,再add需要爆破的对象username和password
6.选择攻击方式 集束炸弹 Cluster bomb
7.add用户名字典和密码字典进行爆破
8.开始攻击start attack 比较length
得出 用户admin 密码password
二、Medium等级
Medium爆破步骤跟low步骤相同,但相同的用户和密码字典,所需要的时间更长,但是也可以得出用户admin 密码password
比较low和medium代码,medium多了一行代码sleep(2); 用户登陆失败后要休眠2秒
所以爆破medium所需时间比low所需时间长
三、High等级
自动获取Token破解high
抓包发现页面代码里隐藏的token 参数,每次请求该页面后都会获得新的token,且有效性只有一次,每次请求登录提交用户名和密码时,都要带上页面提供的 token,防止重放爆破。所以我们要想爆破就必须先获得token 值再提交。
比较low和high的代码,发现sleep(rand(0,3)); 每次登录随机睡眠0-3秒
brup自动获取token爆破弱口令
High级别的代码加入了Token,只能使用pitchfork模式攻击 add & password 和token
Password模式为simple list
Token更换模式为 Recursive grep
将Redirections模块设置允许重定向,选择always
在Options选项卡中将攻击线程thread设置为1
Recursive_Grep模式不支持多线程攻击,然后选择Grep-Extract,意思是用于提取响应消息中的有用信息,点击Add
将复制的token的值粘贴到first request
开始攻击,得到登录密码password
四、Impossible等级
impossible等级的安全策略相当强大,应能防止所有的漏洞,用于比较不同等级下的源代码。相比于high等级,impossible等级,加上了登录失败策略,定义了3个变量:
total_failed_login:总的登录失败次数,当前定义为3次。
lockout_time:账户锁定时间,当前定义为15s
account_locked:创建用户的时候锁定用户
sleep(rand(2,4)):用户登录失败后随机休眠2-4秒
总结:impossible等级几乎没有爆破的可能,可以直接放弃。但同时也为我们防止暴力破解提供了一种思路,可以通过限制登录次数,账户锁定等方式来防止暴力破解。