DVWA的安装教程和通关详解

admin 2023年8月9日18:05:00评论44 views字数 4398阅读14分39秒阅读模式

DVWA是一款基于PHP和mysql开发的web靶场练习平台,集成了常见的Web漏洞。

一.环境搭建

1.下载和安装phpstudy

默认安装完成后,打开phpstudy界面如下:

DVWA的安装教程和通关详解

 开启Apache和MySql两个服务,点击启动:

DVWA的安装教程和通关详解

2.DVWA下载

打开DVWA官网:Buy Steroids Online UK - Anabolic Steroids For Sale UK,打开后滑动到页面下方,点击下载,如图:

DVWA的安装教程和通关详解

3.DVWA安装

把下载好的DVWA的压缩包解压在之前安装PHPStudy文件夹下的WWW目录(先解压再复制到此目录也可以,注意 是把整个文件夹复制到此目录,而不是各个文件),如图:

DVWA的安装教程和通关详解

更改配置信息

 

到这里就需要更改一些配置信息了。

我们要找到DVWA-master 下面的config文件夹,

打开config.inc.php.dist文件,修改这里的默认密码 “p@ssw0rd” 为 “root”,默认账号“dvwa"为”root“保存,

然后还需要把config.inc.php.dist的后缀“.dist”删除,最后文件名就剩config.inc.php。如图:

DVWA的安装教程和通关详解

DVWA的安装教程和通关详解

之后保持phpstudy开启状态,随便进个浏览器,

地址栏输入:http://127.0.0.1/DVWA-master 进入配置安装界面。

DVWA的安装教程和通关详解

标红的地方表示出现了环境或配置的问题。(这是正常现象,不用紧张)

需要下面我们逐一解决 — —


解决爆红错误

第一个错误:表示没有开启PHP url_include模块。

解决方法:

1)找到你PHPstudy的安装目录。

 2)进入Extensionsphp。

3)找到所使用的php版本号所在文件夹,修改php.ini中的allow_url_include为On。

4)然后保存,重启PHPstudy,错误得到解决。

第二个错误:表示缺少了验证码的key。

解决方法:编辑 dvwa/config/config.inc.php这个配置文件,找到以下代码把key填上就行了。

$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';

$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

key也可以自己生成,地址是:https://www.google.com/recaptcha/admin/create

最后一个,点击最下面的那个“Create/Reset Database”按钮创建数据库,如果创建成功则表示如下结果,点击最下面的login进入登录界面。

DVWA的安装教程和通关详解

登录界面如下:默认用户名为admin,密码为password。DVWA的安装教程和通关详解

 登录成功,则显示如下界面,至此,DVWA靶场搭建成功。

DVWA的安装教程和通关详解

 在dvwa security选项中,可以调整dvwa的难易程度,如图:

DVWA的安装教程和通关详解

二.Brute Force

        Brute Force即为暴力破解,通过枚举获取管理员的账号和密码,在实际的操作中,一般用来破解后台管理系统的登录。

1.LOW级别

在该模块任意输入账号和密码,在burp中抓包

DVWA的安装教程和通关详解

抓到包后,右键send ro intruder

DVWA的安装教程和通关详解

send to intruder在intruder的positions选择中,先点击clear$清除所有的变量。然后分别给username和password这两个字段后面的内容添加add$,添加变量并将attack type的值设置为cluster bomb

DVWA的安装教程和通关详解

在payloads选择中分别给payload 1和payload 2设置字典路径

DVWA的安装教程和通关详解

同理,选择第二个payload    

DVWA的安装教程和通关详解

 然后点击右上方的start attack

DVWA的安装教程和通关详解

如上,开始枚举破解。通过length的长度判决即可

DVWA的安装教程和通关详解

 红色部分为破解的密码,通过上面的破解,我们发现length的长度存在不一样,不一样的就是为破解成功的账号和密码。

2.Medium级别

    相比Low级别的代码,Medium级别的代码主要增加了mysql_real_escape_string函数,这个函数会对字符串中的特殊符号(x00,n,r,,’,",x1a)进行转义,把其中的字符串给过滤掉了,基本上能够抵御sql注入攻击,那低等级时候用到的注入就失效了,需要注意的是中级的暴力破解相对来说较慢是因为有个sleep函数,在破解失败后会使程序停止运行两秒。所以我们直接用爆破方法即可,和low级的一样(所以这里就不多演示一遍了)

3.High级别

High级别的代码加入了Token,可以抵御CSRF攻击,同时也增加了爆破的难度,通过抓包,可以看到,登录验证时提交了四个参数:username、password、Login以及user_token。

在该模块任意输入账号和密码,用burp中抓包

DVWA的安装教程和通关详解

发现多了一个token参数。将抓到的包发送到intrude

DVWA的安装教程和通关详解

选择攻击模式为pitchfock,并且给要破解的项带上美元符号

DVWA的安装教程和通关详解

 设置参数,在option选项卡中将攻击线程thread设置为1DVWA的安装教程和通关详解

因为Recursive_Grep模式不支持多线程攻击,然后选择Grep-Extract,意思是用于提取响应消息中的有用信息,点击Add,如下图进行设置,最后将Redirections设置为Always

DVWA的安装教程和通关详解

 写上value=’  点击刷新相应信息   服务器返回的token选中(即value后面,表示每次从响应中获取该值)

DVWA的安装教程和通关详解

将这个token 值先记录下来

87a8523f6d96f38f4f22738f2297e61a

找到Redirections模块设置允许重定向,选择always

DVWA的安装教程和通关详解

设置密码本,点击payload,选择第一项的密码本与低等级的相同,第二项的时候选择Recursive grep 并且把之前得到的token值粘贴到下方的方框中

DVWA的安装教程和通关详解

DVWA的安装教程和通关详解


最后进行攻击破解。

三.Command Injection


命令注入(Command Injection),对一些函数的参数没有做过滤或过滤不严导致的,可以执行系统或者应用指令(CMD命令或者bash命令)的一种注入攻击手段。

常见的命令连接符如下:

command1 && command2    先执行command1后执行command2

command1 | command2       只执行command2

command1 & command2    先执行command2后执行command1


1.Low级别

在文本框里输入”192.168.0.1 && net user”,得到系统中所有的用户

DVWA的安装教程和通关详解

发现乱码,乱码的解决方法:在DVWA-masterdvwaincludes目录下找到dvwaPage.inc.php文件中所有的"charset=utf-8",修改"charset=gb2312‘,即可

DVWA的安装教程和通关详解

输入192.168.0.1 && net user,最终显示效果

DVWA的安装教程和通关详解

2.Medium级别

代码审计

DVWA的安装教程和通关详解

可以看到,相比Low级别的代码,服务器端对ip参数做了一定过滤,即把”&&” 、”;”删除,本质上采用的是黑名单机制,因此依旧存在安全问题。

输入127.0.0.1 | dir

DVWA的安装教程和通关详解

输入127.0.0.1 & ipconfig

DVWA的安装教程和通关详解

3.High级别


    相比Medium级别的代码,High级别的代码进一步完善了黑名单,但由于黑名单机制的局限性,我们依然可以绕过。黑名单看似过滤了所有的非法字符,但仔细观察到是把|(注意这里|后有一个空格)替换为空字符,于是 |成了“漏网之鱼”。

输入127.0.0.1|dir

DVWA的安装教程和通关详解

四.CSRF

CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。

1.Low级别

我们第一次尝试两次密码不一致看看

DVWA的安装教程和通关详解

可以看到顶部的URL是:http://127.0.0.1/dvwa1/vulnerabilities/csrf/?password_new=1234&password_conf=1111&Change=Change#


很明显,这就是修改密码的链接

我们打开另一个页面,在顶部URL中自己输入如下的:

http://127.0.0.1/dvwa1/vulnerabilities/csrf/?password_new=1234&password_conf=1234&Change=Change#

可以看到,直接跳转到了密码成功的页面了,密码已经被修改。

2.Medium级别

Medium级别的代码在Low级别的基础上,加上了对用户请求头的中的Referer字段进行验证。即用户的请求头中的Referer字段必须包含了服务器的名字。当我们再打开另一个页面,在顶部URL中自己输入如下的URL时,

http://127.0.0.1/dvwa1/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change#

它会报错,提示你Http Referer字段没有定义索引(复制url到新建的页面)

DVWA的安装教程和通关详解

 这次我们先正常的访问这个完整,然后用burpsuite进行抓包,如图可以看到Referer字段

DVWA的安装教程和通关详解

然后,我们打开另一个页面,在顶部URL中自己输入如下的链接,用burpsuite进行抓包。   

http://127.0.0.1/dvwa1/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change#

可以看到,当我们直接打开另一个页面,直接输入URL的时候,请求包的头中并没有Referer字段,所以不能修改成功。

DVWA的安装教程和通关详解


那我们可以自己加一个Referer字段,然后值只要设置成包含了主机头127.0.0.1就行了

DVWA的安装教程和通关详解


 可以看到,已经成功修改密码了

3.High级别

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

因为该请求是get请求,所以token验证会被放在请求URL中,我们随便输入密码验证一下,可以看到,在请求的URL中最末尾加入了token。

DVWA的安装教程和通关详解

文章节选自CSDN,原作者路baby,侵删

原文链接:https://blog.csdn.net/m0_68012373

DVWA的安装教程和通关详解


DVWA的安装教程和通关详解

原文始发于微信公众号(网络安全资源库):DVWA的安装教程和通关详解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月9日18:05:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DVWA的安装教程和通关详解http://cn-sec.com/archives/1943456.html

发表评论

匿名网友 填写信息