当前位置: 代码迷 >> 综合 >> DVWA靶场-暴力破解
  详细解决方案

DVWA靶场-暴力破解

热度:98   发布时间:2024-02-04 12:29:05.0

暴力破解

低级

因为等级比较低,我们上来直接抓包暴力破解:
在这里插入图片描述
选择攻击模块
在这里插入图片描述
分别为变量1,2选择字典,这里是我手工创建了两个简单的账号密码字典load直接导入,直接添加其他方法都行
在这里插入图片描述
成功
在这里插入图片描述

中级

我们查看一下源代码,对比低级别发现做了限制如下

mysqli_real_escape_string()函数:会对特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义,作用是抵御了SQL注入
sleep( 2 ):这个意思就是如果登录失败的话,就会延迟两秒后才能提交。

总结:
虽然在Medium级别中做了过滤、转义安全措施,但利用在low级别中的爆破方法还是能爆破成功的,只不过时间比之前长一点,对暴力破解并没有卵用,直接和low级别做法一样暴力破击,这里我就不演示了,直接看上面。

高级

查看high级别的源代码
发现它在Medium级别的安全措施基础上增添了多个安全措施如下:

stripslashes()函数可以用来去掉反斜线字符("\");
Anti-CSRF token用来随机生成token值发送到后台验证登录信息是否正确。
使用了Anti-CSRF token来抵御CSRF的攻击
使用了stripslashes函数和mysqli_real_esacpe_string来抵御SQL注入和XSS的攻击

抓包发现
在每次登录时增加了token验证,在每次登录时都要进行token验证,所以我们可以去获取这个token值,在爆破的同时一并提交该值,这样就能爆破成功。
在这里插入图片描述
爆破
攻击类型选择:Pitchfork
pitchfork模块只能选择两个模块,在这里我们就直接选择密码,和token这两个变量
在这里插入图片描述
option设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
playload
在这里插入图片描述
在这里插入图片描述
爆破
在这里插入图片描述
这里可能你会有疑问为啥有两个password一个成功一个失败,因为我把password放在了第一个,加入token验证爆破时前两个token没有,所以我在最后面又补了password。

impossible

查看源代码分析得出:
通过源代码可以看到,impossible级别在high级别的基础上对用户登录次数进行了限制,当用户登录失败3次后,后台就会锁住账号,在15分钟之内无法进行任何的操作,同时它也采用了更为安全的机制来抵御SQL注入。

这其实是对暴力破解的最有效防御,一般无法破解。