虚拟机安装DVWA是许多网络安全学习者和从业者的入门实践,这一过程不仅能帮助用户搭建安全的测试环境,还能深入理解Web应用漏洞的原理与利用方法,以下从环境准备、安装步骤、配置优化及注意事项四个方面,详细拆解整个流程,确保操作清晰、结果可靠。

环境准备:搭建基础测试平台
在安装DVWA前,需先配置虚拟机及必要软件,确保系统兼容性与运行稳定性。
虚拟机选择与系统安装
推荐使用VMware Workstation或VirtualBox作为虚拟机管理工具,两者均支持主流操作系统,建议安装Linux发行版(如Ubuntu Server 20.04 LTS),因其对LAMP(Linux+Apache+MySQL+PHP)环境的支持更友好,且资源占用较低,若需Windows环境,可选择Windows 10/11专业版,需提前开启“Hyper-V”或“WSL2”功能。
软件依赖安装
DVWA基于PHP和MySQL开发,需预先安装以下组件:
- Web服务器:Apache2(Ubuntu)或IIS(Windows);
- 数据库:MySQL 5.7+或MariaDB;
- 编程语言:PHP 7.4+(需开启
mysqli、gd、curl等扩展); - 其他工具:Git(用于克隆DVWA源码)、wget/curl(下载依赖包)。
在Ubuntu中,可通过命令行一键安装:
sudo apt update && sudo apt install apache2 mysql-server php php-mysql php-gd php-curl git -y
安装步骤:从源码到部署
环境配置完成后,即可开始DVWA的安装与部署,核心流程包括下载源码、配置数据库及修改权限。
下载并配置DVWA
通过Git克隆DVWA官方仓库(或下载ZIP包解压)至Web服务器根目录(如Ubuntu的/var/www/html/):

sudo git clone https://github.com/digininja/DVWA.git /var/www/html/dvwa
随后,修改DVWA目录权限,确保Web服务器可读写:
sudo chown -R www-data:www-data /var/www/html/dvwa sudo chmod -R 755 /var/www/html/dvwa
数据库配置
登录MySQL并创建DVWA专用数据库:
sudo mysql -u root -p CREATE DATABASE dvwa; CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'password'; # 设置强密码 GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost'; FLUSH PRIVILEGES; EXIT;
修改配置文件
进入DVWA目录,复制config/config.inc.php.dist为config.inc.php,并编辑关键参数:
sudo cp /var/www/html/dvwa/config/config.inc.php.dist /var/www/html/dvwa/config/config.inc.php sudo nano /var/www/html/dvwa/config/config.inc.php
_DVWA_DB_:数据库名(如dvwa);_DVWA_DB_USER_:数据库用户(如dvwa);_DVWA_DB_PASSWORD_:数据库密码(与MySQL设置的密码一致);_DVWA_SECURITY_:初始安全模式(建议设为"medium",平衡学习难度与安全性)。
启动服务与访问
启动Apache和MySQL服务,并设置开机自启:
sudo systemctl start apache2 mysql sudo systemctl enable apache2 mysql
在浏览器中访问http://虚拟机IP/dvwa,若出现DVWA安装界面,点击“Create/Reset Database”完成初始化,默认账号为admin/password,登录后即可开始安全测试。
配置优化:提升安全性与可用性
DVWA默认配置存在一定安全风险,需通过优化设置降低潜在威胁。

修改默认凭据
登录DVWA后,进入“Users”模块修改admin密码,并删除默认的admin用户(可选),创建独立测试账号。
防火墙与端口设置
若虚拟机通过NAT或桥接模式联网,需确保防火墙允许HTTP(80端口)和HTTPS(443端口)访问:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
PHP安全配置
编辑PHP配置文件(/etc/php/X.Y/apache2/php.ini,X.Y为PHP版本号),调整以下参数限制风险:
allow_url_include = Offexpose_php = Offupload_max_filesize = 10M(限制上传文件大小)
注意事项:合规使用与问题排查
DVWA仅适用于授权测试,非法扫描他人系统可能违反法律,使用过程中需注意以下问题:
- 权限最小化:避免使用
root账号运行DVWA,建议创建低权限用户隔离风险; - 漏洞隔离:测试完成后,可通过
_DVWA_SECURITY_参数将安全模式调至"high",或直接关闭虚拟机; - 常见问题:若出现数据库连接失败,检查MySQL服务状态及
config.inc.php中的密码;若页面报错,确认PHP扩展是否启用(通过php -m查看)。
通过以上步骤,即可成功搭建一个功能完善的DVWA测试环境,为后续的Web渗透测试与安全研究提供可靠支撑。


















