dvwa-暴力破解

low

来看看源码

可以说是什么防护措施都没有了,虽然说这里是暴力破解,但是我觉得sql注入也是可以的,那就试一下

方法一

这里密码随意输入即可成功,但很有意思的事,这个前提条件是网址为127.0.0.1才行,用本机ip地址并不成功

方法二

也可以用brupsuite进行爆破

先来抓个包吧

然后选好密码字典进行爆破(如果字典选不好的话,就爆破不了了或者是爆破时间相当的长)

midumn

相比low的明显就有了变化

mysql_real_escape_string(),这个函数会对字符串中的特殊符号(x00,n,r,,’,”,x1a)进行转义,因此这里不能在进行sql注入

但是在这里依然可以用brupsuite进行爆破,方法同low

high

在medium的基础上,增加了stripslashes( )函数删除由 addslashes() 函数添加的反斜杠,如果有两个连续的反斜线,则只去掉一个。、 mysql_real_escape_string对参数username、password进行过滤、转义,进一步抵御sql注入。

看看还增加了什么,token而且还是在登陆时随机产生的,且优先级高于sql查询,那直接爆破的话看起来是不行了

这边的爆破方法我参考了这篇文章 https://blog.csdn.net/m0_46432705/article/details/106364716

但是token没有复制成功去查了一下发现

我原来这边的设置是never,所以无法实现服务器返回的token

image-20210212223913790

找找返回长度不同的,试一下就知道密码了(手动滑稽

impossible

看了一下和high的源代码蛮像的

可以看到Impossible级别的代码加入了可靠的防爆破机制,当检测到频繁的错误登录后,系统会将账户锁定,爆破也就无法继续。

然后还多了个

这是因为不能使用PDO扩展本身执行任何数据库操作,从而阻止破坏sql语句结构执行恶意的sql命令。