DVWA通关答案.docx
《DVWA通关答案.docx》由会员分享,可在线阅读,更多相关《DVWA通关答案.docx(19页珍藏版)》请在冰豆网上搜索。
![DVWA通关答案.docx](https://file1.bdocx.com/fileroot1/2023-1/31/112ce4a3-e4ba-421a-82aa-03acfb02a3bd/112ce4a3-e4ba-421a-82aa-03acfb02a3bd1.gif)
DVWA通关答案
DVWA通关答案
0x00前言
DVWA(DamVulnerableWebApplication)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。
包含了SQL注入、XSS、盲注等常见的一些安全漏洞。
0x01下载安装XAMPP
1下载地址:
下载了压缩包:
解压后点击即可正常安装。
一般来说,我们建议把这种集成环境安装在虚拟机,例如我安装在windows2008R2上。
3其他信息:
###MySQL默认密码### User:
root Password:
root
安装使用:
1:
勾选[Service]那栏下的按钮,实现安装服务.
2:
点击各功能的start按钮来启动进程.
—
3:
点击各功能的admin按钮来管理功能.
4:
启动tomcat需要先安装JDK.
0x02下载安装DVWA
1下载地址:
RandomStorm/DVWA/archive/把压缩包解压到:
C:
\xampp\htdocs\
3正常访问地址:
4其他信息:
如果我们在主机打开浏览器输入该地址,无法访问。
解决方案:
重启XAMPP②关闭虚拟机的防火墙③使用【windows防火墙】--【高级设置】--【诊断/修复】--【传入的连接】--【允许其他计算机连接ApacheHTTPServer】
如果出现Apache等服务的端口被占用的话,我们就可以考虑更换对应服务的端口。
例如Apache的文件,可以把80端口改成其他端口。
打开盖文件,搜索80,即可找到该文件。
如果出现某个服务无法启动,打开任务管理器把该进程彻底关掉,然后注销重新登陆。
或者直接关机重启。
;
0x03准备环境
1创建数据库
因为DVWA默认有数据库的连接密码,但是XAMPP也有默认的MySQL用户名和密码,所有这里我们要更改一下DVWA的配置文件。
其中默认的安装路径为:
C:
\xampp\htdocs\\config,打开文件【】,搜索【db_user】
默认的配置文件为:
$_DVWA['db_user'] ='root';
$_DVWA['db_password']='p@ssw0rd';
改成如下:
$_DVWA['db_user'] ='root';
$_DVWA['db_password']='root';
&
2登陆管理界面
我们看到登陆框,这里的登陆密码为admi/password,输入即可成功登陆
3DVWA简介
我们可以看到左侧栏有【home】、【instruction】、【Setup/ResetDB】等管理选项。
在这里,我们可以看到一系列的信息。
例如DVWA的功能介绍,更多延伸拓展练习,PDF文档介绍,变更日志,PHPIDS等等。
在这里强调一下,我们并没有开启PHPIDS。
为啥不开启,因为PHPIDS是一个防火软件套装,直接保护PHP应用的。
相当于一个WAF。
4DVWASecurity
这个功能很重要,在这里我们可以设置漏洞风险的级别,即使级别越大,漏洞越难发现。
此处有四个等级:
low、Medium、High、Impossible。
其中等级【Impossible】是难度最高的,执行该等级,几乎很难挖掘到任何漏洞。
一般来说作为演练平台,我们往往会使用等级【low】,如果想进一步挑战,可以执行等级【Medium】。
'
5PHPIDS
(PHP的入侵检测系统)是一个基于PHP的Web应用程序的安全层。
PHPIDS的工作原理是过滤任何用户提供的输入免受潜在的恶意代码黑名单。
它作为DVWA的Web应用防火墙(WAFS)的实例,可以有助于提高安全性。
并在某些情况下,我们如何可以规避Web应用防火墙。
启动这个属性将记录我们攻击的痕迹。
6
关于这种危险页面一般我们都应该删除。
在文件夹【】下有个,直接删除即可。
例如我的路径为:
C:
\xampp\htdocs\
\
0x04DVWA-【low】
在这里我们主要使用burp进行攻击演练
1BruteForce
输入一个账号密码,通过Burpsuit拦截包,可以看到用户名和密码是通过GET方法进行提交,如下图所示:
&
在这里,我们可以看到请求序号为1221的,成功暴力破解了,用户名为admin,密码为password
在moreinformation那里有很多关于暴力破解的方法。
其中我们可以使用AWVS的暴力破解、APPSCAN的AuthenticationTester或者其他工具都行。
输入该用户名和密码后:
通过代码审计发现,该页面代码不仅存在暴力猜解的问题,同时还有SQL注入漏洞;参数username被直接赋值给$user代入到了SQL语句中执行,这样就产生了SQL注入漏洞,但是下面的代码又验证了返回的结果必须为一行,因此可以使用limit控制返回的行数,因此可以构造SQL注入的用户名
admin'or1=1limit1#
密码任意即可成功登陆!
…
2CommandInjection
在输入框输入&&ipconfig
或者执行其他命令都行,如&&dir
通过代码审计,我发现\vulnerabilities\exec\sorce的代码$cmd = shell_exec( ‘ping -c 3 ‘ . $target );
此处的代码未对$_REQUEST[‘ip’];做任何的处理,并赋值给$target,导致$target可被用户任意控制,因此可以进行构造,执行任意系统命令。
3CrossSiteRequestForgery(CSRF)
此处为修改用户密码,意思就是说通过执行CSRF可以修改其他用户的密码。
也是任意密码修改。
我们正常更改密码,可以看到
vulnerabilities/csrf/password_new=password&password_conf=password&Change=Change#
~
在这个链接中,如果被做成某个隐藏的连接,或者把链接附在图片上或者通过钓鱼邮件、论坛虚假连接等方式。
一旦登陆该网站的用户在其他网站点击该连接后,就会自动更改密码。
其中也有这么一种方式:
在输入框输入下面的字符:
可以修改root用户的密码
用户名:
gordonb 密码:
abc123
123′whereuser=’gordonb’
4FileInclusion
vulnerabilities/fi/page=..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\windows\
—
5FileUpload
此处选择一个文件直接上传即可。
6InsecureCAPTCHA
这个要向google申请账号,并且修改对应的配置文件,所以这个就不演示了。
7 SQLInjection
在各大web应用普遍存在这个问题,并且这个问题的危害性是非常大,可以直接获取关键的敏感数据。
这个比较简单,在输入直接输入下列语句即可。
当然,我们也可以使用sqlmap或其工具来测试。
当然我们在当前页面右下角有个【help】按钮,我们可以查看其中的帮助信息。
.
'or'1'='1
8 SQLInjection(Blind)
9 ReflectedCrossSiteScripting(XSS)
在输入输入下列字符串:
|
10 StoredCrossSiteScripting(XSS)
在输入输入下列字符串:
0x05 其他事项
1对应其他等级,例如【Medium】、【high】、【imposible】,这些难度往往比较大,需要这个绕过技巧,例如编码绕过,加密绕过,截断串改绕过等等方式。
2对应题目的答案并不唯一,可以通过多种方式得到答案或者是类似的提示。
文中的工具也可以是多样的,因为目前有多种工具都可以完成上述操作。
例如暴力破解,命令执行,跨站脚本,文件包含,SQL注入等等。
3对应每种漏洞的修复代码,在DVWA等级为【high】和【imposible】中均有具体的代码演示。
4类似的漏洞平台也有mutillidae、WebGoat、bWAPP等等。