学习渗透测试，特别是 Web 渗透，最头疼的无疑就是寻找靶机环境，通常是不同的漏洞需要找不同的靶机源码，而不同的源码通常 Web 架构又不一样，所以要找到一套能够练习所有 Web 渗透技巧的靶机环境，经常需要搭建 N 个 Web站点，无疑大大提高了学习的入门门槛。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 防护的最佳手段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.zip2.1 安装 PHPStudy步骤 1：运行安装程序，选择安装目录，建议选择非 C 盘，我们这里选择 D:\phpstudy，如图 4-1步骤 2：等待解压完成，PHPStudy 会自动运行。如果出现如图 4-2 所示报错，则需要安装 VC11、VC14 的运行库步骤 3：点击确定，自动弹出 VC 运行库的下载页面，如图 4-3，发现只有 PHP5.5、PHP5.6、PHP7.0、PHP7.1 才需要安装 VC11 和 VC14，我们的 DVWA 推荐运行环境使用默认的 PHP5.4.45 就行，该环境只需 VC9，我们的操作系统已经内置了，所以可以无需下载，直接运行步骤 4：点击 启动按钮，直到显示 Apache 和 MySQL 都已经启动，则 PHPStudy 安装成功，如图 4-42.2 安装 DVWA步骤 1：解压下载的 DVWA-master.zip，为方便后期访问，把解压的文件夹改名为 DVWA，把该文件夹复制到 PHPStudy 的默认 Web 站点根目录 D:\phpstudy\PHPTutorial\WWW ，如图 4-5 所示。步骤 2：在 D:\phpstudy\PHPTutorial\WWW\DVWA\config 目录下，找到 config.inc.php.dist 文件，重命名为 config.inc.php，如图 4-6步骤 3：用记事本打开 config.inc.php 文件，把配置文档中的 $_DVWA[ 'db_password' ] = 'P@ssw0rd'; 修改为 $_DVWA[ 'db_password' ] = 'root';，如图 4-7（这里修改的是 MySQL 的管理员密码，该密码默认是 root，如果修改过 MySQL 密码，这里需要改成你自己的密码）步骤 4：使用浏览器（推荐 Chrome）访问站点安装页面，URL 使用本机 IP 地址即可，这里靶机的 IP 地址为 192.168.75.100，安装页面地址就为 http://192.168.75.100/dvwa/setup.php，如图 4-8步骤 5：在安装页面下方点击 Creat / Reset Database 按钮来创建数据库，出现提示 Setup Success 则说明安装成功，如图 4-9。如果此处创建失败，检查上一步 MySQL 密码是否正确步骤 6：点击 login，进入登录页面，使用默认用户 admin，密码 password 登录到渗透练习页面，如图 4-10步骤 7：点击 DVWA Security 按钮，在这个页面中可以设置 DVWA 的安全级别，可以发现当前默认的安全级别为 Impossible，如图 4-11 至此 DVWA 就已经安装完毕，可以开始进行 Web 渗透的练习了。如果想还原到初始干净的状态，再次重置数据库即可。