DVWA—暴力破解模块全等级源码分析

1.简介

什么叫暴力破解,暴力破解又叫枚举法。在进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做枚举法。通俗的讲就是一个一个去试,但不是人手动的去试,而是利用工具。

2.工具

用Burpsiute的intruder模块进行暴力破解

Intruder的配置参数大家可以参考

3.DVWA靶场练习

①low等级

查看low等级源代码

DVWA—暴力破解模块全等级源码分析插图1

没有做任何放爆破措施,而且get过来的参数没有做任何过滤直接拼接到查询语句中则此处还存在sql注入中万能密码登陆。

首先我们试试暴力破解打开burpsuite进行抓包

DVWA—暴力破解模块全等级源码分析插图3

发送到intruder模块中,清除掉原来的变量,添加新的变量

DVWA—暴力破解模块全等级源码分析插图5

配置好字典后

DVWA—暴力破解模块全等级源码分析插图7

运行

DVWA—暴力破解模块全等级源码分析插图9

根据长度来判断账号密码是否正确

DVWA—暴力破解模块全等级源码分析插图9

破解结束,暴力破解讲了在讲讲sql注入万能密码登陆。再来分析分析源代码

DVWA—暴力破解模块全等级源码分析插图11

User参数直接拼接到查询语句中,pass经过的MD5加密,所以pass不存在sql注入,但是我们可以直接通过user注入进行登陆。我们够着user=admin‘,发现登陆成功。

DVWA—暴力破解模块全等级源码分析插图13

为什么呢我我们构造的user导致查询语句变成了

$query = “SELECT * FROM `user` WHERE user = admin’ AND password = $pass;

Admin后面的‘把前面的’给闭合了加一个把后面的语句给注释掉了语句就等于

$query = “SELECT * FROM `user` WHERE user = admin’;

该语句成立故登陆成功!

②medium等级

看看源代码

DVWA—暴力破解模块全等级源码分析插图15

这里有个转义函数mysqli_real_escape_string()

DVWA—暴力破解模块全等级源码分析插图17

该转义函数会对我们输入的‘进行反斜杠转义,进而杜绝的我们的sql注入进而万能密码登陆。但是没有加任何防暴措施,所以我们可以直接暴力破解进行登陆!

③high级别

看看源代码

DVWA—暴力破解模块全等级源码分析插图19

较比medium级别加入了token、stripslashes,而且加入了sleep函数,token抵御的CSRF攻击。Stripslashes函数去除反斜杠

DVWA—暴力破解模块全等级源码分析插图21

Sleep函数加入了延时,从而加大破解时长。

我们抓包看看

DVWA—暴力破解模块全等级源码分析插图23

这里提交了四个参数应为有token,而且查询之前会先做token的检查,所以我们要抓取token。首先还是正常抓包发送到intruder模块,设置参数。不一样的地方就是我们要抓取token

DVWA—暴力破解模块全等级源码分析插图25
DVWA—暴力破解模块全等级源码分析插图27

就会出现这个界面我们搜索token出现的位置。

DVWA—暴力破解模块全等级源码分析插图29

选中点击ok

DVWA—暴力破解模块全等级源码分析插图31

这里显示以添加

DVWA—暴力破解模块全等级源码分析插图33

本人之前就存在是因为我写文章之前做了遍实验,之前是玩dvwa这个的时候是用一个python脚本来破解的,所以提前小实验了下,哈哈!

设置好后我们还要设置一下线程,线程该为1。

DVWA—暴力破解模块全等级源码分析插图35

这改为always

DVWA—暴力破解模块全等级源码分析插图37

然后导入输入到字典中

DVWA—暴力破解模块全等级源码分析插图39

即可运行。

DVWA—暴力破解模块全等级源码分析插图41

成功破解!

④impossible级别

看看源码

DVWA—暴力破解模块全等级源码分析插图43

这里添加了失败次数,还有失败等待时间15分钟,就算没有失败次数,这个失败15分钟你还有欲望去暴力破解吗。最后还有一个PDO技术。所以这个是不可能破解成功的!

原创文章 DVWA—暴力破解模块全等级源码分析,版权所有
如若转载,请注明出处:https://www.itxiaozhan.cn/202212617.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注