0x00 前言

DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。

0x01 下载安装XAMPP

1 下载地址:http://www.xampps.com/

2 下载了压缩包:xampp_2016.zip,解压后点击xampp_2016.exe 即可正常安装。一般来说,我们建议把这种集成环境安装在虚拟机,例如我安装在windows2008R2上。

3 其他信息:

### MySQL 默认密码 ###     User: root     Password:root

安装使用:

1: 勾选 [Service] 那栏下的按钮, 实现安装服务.

2: 点击各功能的 start 按钮来启动进程.

3: 点击各功能的 admin 按钮来管理功能.

4: 启动 tomcat 需要先安装JDK.

0x02 下载安装DVWA

1 下载地址:https://github.com/RandomStorm/DVWA/archive/v1.9.zip)

2 把压缩包解压到:C:\xampp\htdocs\

3 正常访问地址:http://192.168.11.131/DVWA-1.9/

4 其他信息:如果我们在主机打开浏览器输入该地址,无法访问。解决方案:

重启XAMPP ②关闭虚拟机的防火墙③使用【windows防火墙】--【高级设置】--【诊断/修复】--【传入的连接】--【允许其他计算机连接Apache HTTP Server】

如果出现Apache等服务的端口被占用的话,我们就可以考虑更换对应服务的端口。例如Apache 的http.conf 文件,可以把80端口改成其他端口。打开盖文件,搜索80,即可找到该文件。

如果出现某个服务无法启动,打开任务管理器把该进程彻底关掉,然后注销重新登陆。或者直接关机重启。

0x03 准备环境

1 创建数据库

因为DVWA默认有数据库的连接密码,但是XAMPP也有默认的MySQL用户名和密码,所有这里我们要更改一下DVWA的配置文件。其中默认的安装路径为:C:\xampp\htdocs\DVWA-1.9\config, 打开文件【config.inc.php】,搜索【db_user】

默认的配置文件为:

$_DVWA[ 'db_user' ]     = 'root';

$_DVWA[ 'db_password' ] = 'p@ssw0rd';

改成如下:

$_DVWA[ 'db_user' ]     = 'root';

$_DVWA[ 'db_password' ] = 'root';

2 登陆管理界面

我们看到登陆框,这里的登陆密码为admi/password ,输入即可成功登陆

3 DVWA简介

我们可以看到左侧栏有【home】、【instruction】、【Setup/ResetDB】等管理选项。在这里,我们可以看到一系列的信息。例如DVWA的功能介绍,更多延伸拓展练习,PDF文档介绍,变更日志,PHPIDS等等。在这里强调一下,我们并没有开启PHPIDS。为啥不开启,因为PHPIDS是一个防火软件套装,直接保护PHP应用的。相当于一个WAF。

4 DVWA Security

这个功能很重要,在这里我们可以设置漏洞风险的级别,即使级别越大,漏洞越难发现。此处有四个等级:low、Medium、High、Impossible。其中等级【Impossible】是难度最高的,执行该等级,几乎很难挖掘到任何漏洞。一般来说作为演练平台,我们往往会使用等级【low】,如果想进一步挑战,可以执行等级【Medium】。

5 PHPIDS

PHPIDSV0.6(PHP的入侵检测系统)是一个基于PHP的Web应用程序的安全层。

PHPIDS的工作原理是过滤任何用户提供的输入免受潜在的恶意代码黑名单。它作为DVWA的Web应用防火墙(WAFS)的实例,可以有助于提高安全性。并在某些情况下,我们如何可以规避Web应用防火墙。启动这个属性将记录我们攻击的痕迹。

6 phpinfo.php

关于这种危险页面一般我们都应该删除。在文件夹【DVWA-1.9】下有个phpinfo.php,直接删除即可。例如我的路径为:C:\xampp\htdocs\DVWA-1.9

http://192.168.11.131/DVWA-1.9/phpinfo.php

0x04 DVWA-【low】

在这里我们主要使用burp进行攻击演练

1 Brute Force

输入一个账号密码,通过Burpsuit拦截包,可以看到用户名和密码是通过GET方法进行提交,如下图所示:

在这里,我们可以看到请求序号为1221的,成功暴力破解了,用户名为admin, 密码为password

在more information 那里有很多关于暴力破解的方法。其中我们可以使用AWVS的暴力破解、APPSCAN的Authentication Tester或者其他工具都行。输入该用户名和密码后:

通过代码审计发现,该页面代码不仅存在暴力猜解的问题,同时还有SQL注入漏洞;参数username被直接赋值给$user代入到了SQL语句中执行,这样就产生了SQL注入漏洞,但是下面的代码又验证了返回的结果必须为一行,因此可以使用limit控制返回的行数,因此可以构造SQL注入的用户名

admin' or 1=1limit 1#

密码任意即可成功登陆!

2 Command Injection

在输入框输入180.149.132.47&& ipconfig

或者执行其他命令都行,如180.149.132.47 && dir

通过代码审计,我发现DVWA-1.9\vulnerabilities\exec\sorce的low.php代码$cmd = shell_exec( ‘ping  -c 3 ‘ . $target );

此处的代码未对$_REQUEST[ ‘ip’ ];做任何的处理,并赋值给$target,导致$target可被用户任意控制,因此可以进行构造,执行任意系统命令。

3 CrossSite Request Forgery (CSRF)

此处为修改用户密码,意思就是说通过执行CSRF可以修改其他用户的密码。也是任意密码修改。我们正常更改密码,可以看到

http://192.168.11.131/DVWA-1.9/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#

在这个链接中,如果被做成某个隐藏的连接,或者把链接附在图片上或者通过钓鱼邮件、论坛虚假连接等方式。一旦登陆该网站的用户在其他网站点击该连接后,就会自动更改密码。

其中也有这么一种方式:

在输入框输入下面的字符:可以修改root 用户的密码

用户名:gordonb  密码:abc123

123′ whereuser=’gordonb’

4 FileInclusion

http://192.168.11.131/DVWA-1.9/vulnerabilities/fi/?page=..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\windows\win.ini

5 FileUpload

此处选择一个setup.php文件直接上传即可。

6 Insecure CAPTCHA

这个要向google 申请账号,并且修改对应的配置文件,所以这个就不演示了。

7  SQLInjection

在各大web应用普遍存在这个问题,并且这个问题的危害性是非常大,可以直接获取关键的敏感数据。这个比较简单,在输入直接输入下列语句即可。当然,我们也可以使用sqlmap 或其工具来测试。当然我们在当前页面右下角有个【help】按钮,我们可以查看其中的帮助信息。

' or '1'='1

8  SQL Injection(Blind)

9  ReflectedCross Site Scripting (XSS)

在输入输入下列字符串:

<script>alert("XSS");</script>

10  StoredCross Site Scripting (XSS)

在输入输入下列字符串:

<sCrIpt>alert(1)</ScRipt>

0x05  其他事项

1 对应其他等级,例如【Medium】、【high】、【imposible】,这些难度往往比较大,需要这个绕过技巧,例如编码绕过,加密绕过,截断串改绕过等等方式。

2 对应题目的答案并不唯一,可以通过多种方式得到答案或者是类似的提示。文中的工具也可以是多样的,因为目前有多种工具都可以完成上述操作。例如暴力破解,命令执行,跨站脚本,文件包含,SQL注入等等。

3 对应每种漏洞的修复代码,在DVWA等级为【high】和【imposible】中均有具体的代码演示。

4 类似的漏洞平台也有mutillidae、WebGoat、bWAPP等等。

欢迎大家分享更好的思路,热切期待^^_^^ !

渗透测试漏洞平台DVWA-参考答案相关推荐

  1. kali dvwa php mysql,kali linux 2.0下搭建DVWA渗透测试演练平台

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  2. 渗透测试漏洞利用入门总结

    渗透测试漏洞利用入门总结 漏洞利用 利用medusa获得远程服务的访问权限. 这些服务包括ssh.telnet.ftp.pc anywhere .vnc 对这些服务进行爆破的工具分别是medusa 和 ...

  3. Kali Linux渗透测试——漏洞扫描

    笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程 由于漏洞扫描中基于服务扫描结果速度太慢,搜索已公开漏洞数据库数量过于庞大,所以一般使用漏洞扫描器实现.扫描器的功能包括发现IP,识别 ...

  4. 【渗透测试学习平台】 web for pentester -1.介绍与安装

    web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...

  5. shodan 渗透测试 漏洞挖掘 一些用法

    渗透测试中,第一阶段就是信息搜集,这一阶段完成的如何决定了你之后的进行是否顺利,是否更容易.而关于信息收集的文章网上也是有太多.今天我们来通过一些例子来讲解如何正确使用Shodan这一利器. 想要利用 ...

  6. 自学渗透测试:使用 DVWA 和 SQLmap 探寻 SQL 注入攻击与防范

    数据来源 本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径.若观众因此作出任何危害网络安全的行为,后果自负,与本人无关. 01 耳熟能详的SQ注入是什么?     关于SQL注入漏洞,维基 ...

  7. 3种常见的渗透测试漏洞总结,快来收藏√

    越权漏洞 越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广.危害大,被OWASP列为Web应用十大安全隐患的第二名. 所谓越权,顾名 ...

  8. 网络渗透测试漏洞复现任务

    一.漏洞渗透测试 1.靶机(Windows)安装easy file sharing server(efssetup_2018.zip),该服务存在漏洞. 2.利用Nmap扫描发现靶机(Windows) ...

  9. 常规web渗透测试漏洞描述及修复建议

    1.Apache样例文件泄漏 漏洞描述 apache一些样例文件没有删除,可能存在cookie.session伪造,进行后台登录操作 修复建议 1.删除样例文件 2.对apache中web.xml进行 ...

最新文章

  1. objective-c abort() 与 exit() 函数的区别
  2. 你所忽略的DNS---DNS实战及深度解读
  3. 类与类之间调用Computer-CPU-Mouse--看懂它看懂类之间的调用
  4. 数学建模感悟:新的算法的学习
  5. 通过java api提交自定义hadoop 作业
  6. nodejs 安装后 npm-v 无效,node全局环境配置
  7. Apache Benchmark(简称ab)压力测试安装与解释
  8. qchart 怎么点击一下 出一条线_mastercam9.1教程之Mastercam9.1数控编程里面怎么出多个坐标系...
  9. python数据类型取值范围_Python基本数据类型(一)
  10. python教程 马哥_马哥python从入门到精通,资源教程下载
  11. LeaRun敏捷开发框架
  12. 二维otsu算法python_图像二值化与otsu算法介绍
  13. [Hi3751V350][Android9.0] 调试笔记 --- 添加并设置默认系统字库
  14. python爬虫:scrapy-redis分布式爬虫(详细版)
  15. QT中事件及事件处理
  16. 中望3D 2021 插入基准面 - 2实体构面法
  17. 2021BI及数据可视化领域最具商业合作价值企业盘点
  18. C语言实现简易三子棋,支持双人对战,电脑可拦截
  19. ASP.NET债务管理系统源码
  20. python 加注拼音-Python pypinyin库,实现文字转拼音

热门文章

  1. ps play android下载地址,PSPlay
  2. [位压] 高精度加法
  3. Windows 10 下 TeXstudio 深色背景主题的设置方法
  4. python编程代码画画_如何用python编写一个绘制马赛克图像的自写程序
  5. java eav模式_Magento 2中EAV模型的理解
  6. 2022年淘宝女王节预售活动时间介绍
  7. csr8811蓝牙芯片porting总结
  8. C# managed, unmanaged, unsafe 的比较
  9. Mutli-SG游戏 ——学习笔记
  10. excel怎么删除换行符