【DVWA】——Brute Force(暴力破解)
目录
- 🕒 1. Low
- 🕒 2. Medium
- 🕒 3. High
- 🕘 3.1 分析
- 🕘 3.2 解决方案:递归提取
准备好Brup Suite软件
🔎 Brup Suite平台安装
🕒 1. Low
首先,随便在登录框输入用户名和密码(比如admin和123),之后开启代理,打开Brup Suite工具,点击login并拦截包
在页面内右键把包放到Intruder测试器模块
点击Intruder → 位置
首先点击清除把所有变量清除,其次选中密码(123),点击添加为有效载荷,之后选择攻击类型,我们可以猜测网站中有一个admin账号,采用单个payload进行测试。
攻击类型简介:
- 狙击手-单个payload(Sniper):对变量依次进行暴力破解。一般这个模式下只设置一个爆破点,因为如果用户名和密码都不知道的情况下不会使用该模式去爆破。通常用于在知道用户名后,对密码进行爆破。
- 撞击物-一组payload(Battering ram):对变量同时进行破解
- 交叉-多个payload集(Pitchfork):每一个变量标记对应一个字典,一一对应进行破解。
- 集束炸弹-多个Payload集合(Clusterbomb):每个变量对应一个字典,并且进行交叉式破解,尝试各种组合。适用于用户名+密码的破解
选择payload标签页 → Payload类型(简单列表) → 从文件加载 → 开始攻击
此处我们可以自行选择密码字典文件进行暴力破解,这里我选择了Top500的弱口令字典集
分析结果,可以看到其中一个密码的回显长度不一样,通过进一步确认其响应内容,可以判断这就是登陆密码。
源码分析:low等级只是把输入的用户名和密码放到数据库去查询并返回结果,并没有做任何的限制,只要字典够强大,很容易就跑出来。
🕒 2. Medium
Medium步骤和low等级完全一样,主要是源码多了一点内容导致难度会提高一点,能够抵御SQL注入攻击,那低等级时候用到的注入就失效了。
需要注意的是中级的暴力破解相对来说较慢是因为有个sleep函数,在破解失败后会使程序停止运行两秒。所以我们直接用爆破方法即可,
🕒 3. High
🕘 3.1 分析
High级别的代码加入了Token,可以抵御CSRF攻击,同时也增加了爆破的难度,通过抓包可以看到,登录验证时提交了四个参数:username、password、Login以及user_token。
将抓到的包发送到Intruder,如果依旧采用Low级别的步骤攻击,会发现状态码变成302了
这是因为采用了user_token,用来标识请求包,防止进行重发。我们可以放到Repeater观察一下
在代理中开启拦截
再次点击Login,将截获的数据包发送到Repeater中。
注意此时拦截的这个包并没有发送到服务器中,之后点击发送,可以看到状态码为200。
如果再次点击发送,就可以观察到状态码变成302,是不正常的。原因就是服务器后端会对user_token进行检测。
🕘 3.2 解决方案:递归提取
把包发送到Intruder → 清除 → 攻击类型选择Pitchfork → 添加密码和Token为payload
依次配置payload,首先配第1个(密码),依旧是字典爆破的方式
随后配置第2个(Token),先去设置更改
重定向 → 总是
检索-提取 → 重新获取响应 → 搜索“Token” → 选中Token → 确认
回到第2个payload的配置
由于该模式不支持多线程攻击,需要进行资源池配置。新建一个资源池,最大并发数设置为1,开始攻击即可。
可以看到破解成功。
OK,以上就是本期知识点“Brute Force(暴力破解)”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页