虚拟机DVWA搭建是网络安全学习和实践中的重要环节,通过搭建这一漏洞测试环境,可以安全地学习Web应用安全知识,掌握渗透测试基础技能,以下从环境准备、安装步骤、配置优化及注意事项四个方面,详细阐述完整的搭建流程。

环境准备
在开始搭建前,需确保硬件和软件满足基本要求,硬件方面,建议配置至少4GB内存、20GB可用硬盘空间的计算机,虚拟机分配2GB内存和15GB硬盘空间可保证流畅运行,软件方面,推荐使用VirtualBox或VMware Workstation等虚拟化软件,操作系统选择Linux发行版(如Ubuntu 20.04 LTS),因其对LAMP(Linux+Apache+MySQL+PHP)环境支持良好,需提前下载DVWA(Damn Vulnerable Web Application)最新源码包,从GitHub官方仓库获取即可。
安装步骤
虚拟机系统安装
- 创建虚拟机:打开VirtualBox,点击“新建”,选择类型为Linux,版本为Ubuntu(64位),分配内存和硬盘空间后启动虚拟机。
- 安装Ubuntu:加载Ubuntu 20.04 LTS镜像文件,按照向导完成安装,设置用户名、密码及网络配置(建议选择桥接模式,确保虚拟机与主机处于同一局域网)。
- 系统更新:安装完成后,打开终端执行
sudo apt update && sudo apt upgrade -y,更新系统软件包。
LAMP环境部署
DVWA基于PHP开发,需搭建LAMP环境,具体命令如下:
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql -y
安装完成后,启动Apache和MySQL服务:

sudo systemctl start apache2 sudo systemctl start mysql sudo systemctl enable apache2 mysql
数据库配置
- 安全设置:执行
sudo mysql_secure_installation,根据提示设置root密码、移除匿名用户、禁止root远程登录等。 - 创建DVWA数据库:登录MySQL控制台(
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部署与配置
- 解压源码:将下载的DVWA源码包(如
dvwa-latest.zip)复制到虚拟机,解压至Apache根目录:sudo unzip dvwa-latest.zip -d /var/www/html/ sudo mv /var/www/html/dvwa-latest /var/www/html/dvwa sudo chown -R www-data:www-data /var/www/html/dvwa
- 配置数据库连接:编辑
/var/www/html/dvwa/config/config.inc.php文件,修改数据库连接信息:$_DVWA[ 'db_server' ] = '127.0.0.1'; $_DVWA[ 'db_database' ] = 'dvwa'; $_DVWA[ 'db_user' ] = 'dvwa'; $_DVWA[ 'db_password' ] = 'password';
- 设置权限:确保DVWA目录具有可写权限:
sudo chmod -R 777 /var/www/html/dvwa/hackable/uploads/ sudo chmod -R 777 /var/www/html/dvwa/vulnerabilities/fi/
访问与初始化
在虚拟机浏览器中访问http://localhost/dvwa/setup.php,点击“Create/Reset Database”初始化数据库,随后访问http://localhost/dvwa/login.php,使用默认账号(admin/password)登录,进入DVWA主界面。
配置优化
安全级别设置
登录DVWA后,在“DVWA Security”页面可调整安全级别(low、medium、high、impossible),不同级别对应不同的漏洞实现,便于循序渐进学习,建议初学者从low级别开始,逐步挑战高级别。
功能模块测试
DVWA包含SQL注入、XSS、文件上传等10个安全模块,每个模块均提供漏洞场景和修复代码对比,在SQL注入模块中,可通过输入' OR '1'='1验证漏洞,对比不同安全级别的防御机制。

日志监控
启用Apache访问日志和错误日志,便于分析攻击行为:
sudo tail -f /var/log/apache2/access.log sudo tail -f /var/log/apache2/error.log
注意事项
- 网络安全:DVWA存在已知漏洞,仅建议在隔离环境中使用,避免暴露于公网,若需远程访问,配置防火墙规则限制IP访问。
- 数据备份:定期备份DVWA数据库和配置文件,防止实验数据丢失。
- 环境清理:实验结束后,可通过删除
/var/www/html/dvwa目录、重置MySQL数据库彻底清理环境。 - 学习资源:结合《Web应用安全权威指南》等资料,深入理解漏洞原理及修复方法,避免仅停留在工具使用层面。
通过以上步骤,即可成功搭建功能完善的DVWA漏洞测试环境,这一环境不仅适合网络安全初学者入门,也可作为渗透测试人员的实验平台,帮助在实践中提升安全技能,搭建过程中需注重细节,如权限配置、数据库连接等,确保环境稳定运行。




















