dvwa-暴力破解

暴力破解:

1.寻找漏洞

low级别

首先随便输入一个账号密码,结果发现是以get方式提交的账号密码都是明文传输。
在这里插入图片描述

然后直接抓包看看,然后直接用intruder爆破因为不知道账号和密码所以用cluster bomb模式,然后将账号密码都变成变量。
在这里插入图片描述
添加常用账号密码字典,从攻击结果看长度有变化基本是变大的就是正确账号密码,得账号:admin,密码:kali,也可以根据返回文字在grep匹配添加flag判断。
在这里插入图片描述
在这里插入图片描述

分析源码发现,服务器只是验证了参数Login是否被点击,没有任何的防爆破机制就直接查询账号密码
在这里插入图片描述

medium级别

分析页面源码发现相比low级别他多了个mysqli_real_escape_string函数处理提交数据会把一些特殊字符转义过滤掉,管他呢要真这么复杂我还破解个啥,最后在登陆失败哪里有一个两秒的延迟函数,也就是说暴力破解中尝试登录失败会多两秒延迟再进行下一个pyload。所以也可以用low级别的步骤一样破解出来,就是时间慢了点。
在这里插入图片描述

high级别

分析源码发现相比中级多了个token验证能通过抓包发现每一次登录操作都会刷新一个token
在这里插入图片描述
在这里插入图片描述

发送intruder因为token是服务器根据请求生成的所以我们必须从服务器返回页面中提取token这就用到了工具grep exteact然后引用跟随

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

因为token每次请求验证完才会生成新的token所以不能多线程爆破

在这里插入图片描述

设置好字典1和2直接爆破

在这里插入图片描述

长度最大的就是密码:kali
在这里插入图片描述

总结:

漏洞原理:没有采用错误登录次数限制,没有采用后端验证,弱密码等

方法:暴力破解采用burp suite抓包,repeater功能试探,intruder爆破攻击

其实这里也可以用sql语句注入因为密码经过MD5加密而且返回结果唯一所以只能直接在输入正确账号时把密码注释掉就可以登录admin’#,这有个坑点如果返回查询不唯一就会登录失败

在这里插入图片描述

防御:设置登录次数限制,增加双因子认证,设置复杂的密码等

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>