欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【零基础实战】Ubuntu搭建DVWA漏洞靶场全流程详解(附渗透测试示例)

【零基础实战】Ubuntu搭建DVWA漏洞靶场全流程详解(附渗透测试示例)

2025/4/18 8:53:40 来源:https://blog.csdn.net/qq_29709589/article/details/147093884  浏览:    关键词:【零基础实战】Ubuntu搭建DVWA漏洞靶场全流程详解(附渗透测试示例)

【零基础实战】Ubuntu搭建DVWA漏洞靶场全流程详解(附渗透测试示例)

在这里插入图片描述

一、DVWA靶场简介

DVWA(Damn Vulnerable Web Application)是专为网络安全学习者设计的漏洞演练平台,包含SQL注入、XSS、文件包含等10大Web漏洞模块,采用PHP+MySQL架构,非常适合用于:

  • Web安全漏洞原理学习
  • 渗透测试技能实战演练
  • 安全工具(BurpSuite、sqlmap等)实战测试

二、环境准备(Ubuntu 20.04/22.04)

1. 更新系统源

sudo apt update && sudo apt upgrade -y

2. 安装LAMP环境

sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql

3. 安装必要扩展

sudo apt install -y php-gd php-curl php-zip php-mbstring php-xml

三、DVWA部署流程(详细步骤)

1. 下载DVWA源码

cd /var/www/html
sudo wget https://githubfast.com/digininja/DVWA/archive/master.zip
sudo unzip master.zip
sudo mv DVWA-master dvwa
sudo rm master.zip

2. 配置数据库

#启动mysql
sudo systemctl start mysql
#查看状态
sudo systemctl status mysql
#开机服务启动
sudo systemctl enable mysqlsudo mysql -u root -p
> CREATE DATABASE dvwa;
> CREATE USER 'dvwa_user'@'localhost' IDENTIFIED BY 'P@ssw0rd';
> GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa_user'@'localhost';
> FLUSH PRIVILEGES;
> exit#docker单独安装mysql数据库(可选)
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.39
#启动(可选)
docker run --name mysql_test -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.39
#进入(可选)
docker exec -it mysql_test mysql -uroot -p

3. 修改配置文件

cd dvwa/config
sudo cp config.inc.php.dist config.inc.php
sudo nano config.inc.php

修改以下参数:

$_DVWA['db_user'] = 'dvwa_user';
$_DVWA['db_password'] = 'p@ssw0rd';$_DVWA[ 'recaptcha_public_key' ]  = getenv('RECAPTCHA_PUBLIC_KEY') ?: '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = getenv('RECAPTCHA_PRIVATE_KEY') ?: '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4Kwq';

数据库修改:

在这里插入图片描述

配置key:

在这里插入图片描述

4. 设置文件权限

sudo chmod -R 755 /var/www/html/dvwa
sudo chown -R www-data:www-data /var/www/html/dvwa

5. 重启服务

#启用mod_rewrite
sudo a2enmod rewrite#修改vim /etc/php/8.3/apache2/php.ini
display_startup_errors = On
#如果没有则添加
display_errors = On#允许远程文件访问
allow_url_fopen = On
allow_url_include = Onsudo systemctl restart apache2 #检查状态
systemctl status apache2#查看报错日志
tail -f /var/log/apache2/error.log

四、访问与初始化

  1. 浏览器访问 http://localhost/dvwa
  2. 点击"Create / Reset Database"初始化数据库:
  3. 使用默认账号登录:
    • 用户名:admin
    • 密码:password

登录界面:

在这里插入图片描述

五、常见问题排查

1. PHP函数未启用错误

解决方法:

sudo nano /etc/php/8.1/apache2/php.ini

修改以下配置:

allow_url_include = On
magic_quotes_gpc = Off

2. 数据库连接失败

检查:

  • MySQL服务状态 systemctl status mysql
  • 用户权限是否配置正确
  • 防火墙是否放行3306端口

3. 文件权限问题

重置权限命令:

sudo chmod -R 777 /var/www/html/dvwa/hackable/uploads

六、渗透测试实战示例(SQL注入)

1. 设置安全等级

将DVWA Security设为"Low"

2. SQL注入测试

访问SQL Injection页面,输入:
1' union select 1,group_concat(user,0x3a,password) from users#

3. 使用sqlmap自动化测试

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=xxx; security=low" --dbs

七、安全建议

  1. 仅在本地环境搭建
  2. 定期更新系统补丁
  3. 使用完成后关闭服务
sudo systemctl stop apache2 mysql

下一篇预告: 《DVWA靶场XSS漏洞实战:从注入到Cookie劫持》

(注:实际操作请遵守网络安全法,仅在授权环境进行测试)

安全建议

  1. 仅在本地环境搭建
  2. 定期更新系统补丁
  3. 使用完成后关闭服务
sudo systemctl stop apache2 mysql

如果本教程帮助您解决了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技术细节!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词