学习渗透测试,特别是 Web 渗透,最头疼的无疑就是寻找靶机环境,通常是不同的漏洞需要找不同的靶机源码,而不同的源码通常 Web 架构又不一样,所以要找到一套能够练习所有 Web 渗透技巧的靶机环境,经常需要搭建 N 个 Web站点,无疑大大提高了学习的入门门槛。

4.1 DVWA 简介

  DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。
  
  DVWA 一共包含了十个攻击模块,分别是:Brute Force(暴力(破解))、Command Injection(命令行注入)、CSRF(跨站请求伪造)、- File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、SQL Injection(SQL注入)、SQL Injection(Blind)(SQL盲注)、XSS(Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨站脚本)。包含了 OWASP TOP10 的所有攻击漏洞的练习环境,一站式解决所有 Web 渗透的学习环境。
  
  另外,DVWA 还可以手动调整靶机源码的安全级别,分别为 Low,Medium,High,Impossible,级别越高,安全防护越严格,渗透难度越大。一般 Low 级别基本没有做防护或者只是最简单的防护,很容易就能够渗透成功;而 Medium 会使用到一些非常粗糙的防护,需要使用者懂得如何去绕过防护措施;High 级别的防护则会大大提高防护级别,一般 High 级别的防护需要经验非常丰富才能成功渗透;最后 Impossible 基本是不可能渗透成功的,所以 Impossible 的源码一般可以被参考作为生产环境 Web 防护的最佳手段


4.2 DVWA 安装

  
  上文提到,DVWA 是 PHP/MySQL 的源码环境,所以需要准备 PHP 和 MySQL 的运行环境。PHPStudy 是一个 PHP 调试环境的程序集成包。该程序包集成最新的 LAMP 和 WAMP 架构,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该软件提供 Windows 和 Linux 的版本,我们这里的演示环境为 Windows Server 2008 R2 X64,所以下载 Windows 版本。下面演示如何安装 DVWA,我们使用的 DVWA 版本是目前最新的 DVWA 1.9
  
  安装环境所需工具下载地址:
   - PHPStudy:http://phpstudy.php.cn/download.html
   - DVWA:https://github.com/ethicalhack3r/DVWA/archive/master.zip

4.2.1 安装 PHPStudy

步骤 1:运行安装程序,选择安装目录,建议选择非 C 盘,我们这里选择 D:\phpstudy,如图 4-1

dvwa安装教程与配置(DVWA 简介及安装)(1)

图 4-1

步骤 2:等待解压完成,PHPStudy 会自动运行。如果出现如图 4-2 所示报错,则需要安装 VC11、VC14 的运行库

dvwa安装教程与配置(DVWA 简介及安装)(2)

图 4-2

步骤 3:点击确定,自动弹出 VC 运行库的下载页面,如图 4-3,发现只有 PHP5.5、PHP5.6、PHP7.0、PHP7.1 才需要安装 VC11 和 VC14,我们的 DVWA 推荐运行环境使用默认的 PHP5.4.45 就行,该环境只需 VC9,我们的操作系统已经内置了,所以可以无需下载,直接运行

dvwa安装教程与配置(DVWA 简介及安装)(3)

图 4-3

步骤 4:点击 启动按钮,直到显示 Apache 和 MySQL 都已经启动,则 PHPStudy 安装成功,如图 4-4

dvwa安装教程与配置(DVWA 简介及安装)(4)

图 4-4

4.2.2 安装 DVWA

步骤 1:解压下载的 DVWA-master.zip,为方便后期访问,把解压的文件夹改名为 DVWA,把该文件夹复制到 PHPStudy 的默认 Web 站点根目录 D:\phpstudy\PHPTutorial\WWW ,如图 4-5 所示。

dvwa安装教程与配置(DVWA 简介及安装)(5)

图 4-5

步骤 2:在 D:\phpstudy\PHPTutorial\WWW\DVWA\config 目录下,找到 config.inc.php.dist 文件,重命名为 config.inc.php,如图 4-6

dvwa安装教程与配置(DVWA 简介及安装)(6)

图 4-6

步骤 3:用记事本打开 config.inc.php 文件,把配置文档中的 $_DVWA[ 'db_password' ] = 'P@ssw0rd'; 修改为 $_DVWA[ 'db_password' ] = 'root';,如图 4-7(这里修改的是 MySQL 的管理员密码,该密码默认是 root,如果修改过 MySQL 密码,这里需要改成你自己的密码)

dvwa安装教程与配置(DVWA 简介及安装)(7)

图 4-7

步骤 4:使用浏览器(推荐 Chrome)访问站点安装页面,URL 使用本机 IP 地址即可,这里靶机的 IP 地址为 192.168.75.100,安装页面地址就为 http://192.168.75.100/dvwa/setup.php,如图 4-8

dvwa安装教程与配置(DVWA 简介及安装)(8)

图 4-8

步骤 5:在安装页面下方点击 Creat / Reset Database 按钮来创建数据库,出现提示 Setup Success 则说明安装成功,如图 4-9。如果此处创建失败,检查上一步 MySQL 密码是否正确

dvwa安装教程与配置(DVWA 简介及安装)(9)

图 4-9

步骤 6:点击 login,进入登录页面,使用默认用户 admin,密码 password 登录到渗透练习页面,如图 4-10

dvwa安装教程与配置(DVWA 简介及安装)(10)

图 4-10

步骤 7:点击 DVWA Security 按钮,在这个页面中可以设置 DVWA 的安全级别,可以发现当前默认的安全级别为 Impossible,如图 4-11

dvwa安装教程与配置(DVWA 简介及安装)(11)

图 4-11

  至此 DVWA 就已经安装完毕,可以开始进行 Web 渗透的练习了。如果想还原到初始干净的状态,再次重置数据库即可。