一、前言

1.1、什么是DVWA?

DVWA(Damn Vulnerable Web Application)是一款专门用于 Web 安全测试学习的漏洞靶场,它模拟了真实网站中常见的安全漏洞(比如 SQL 注入、XSS、文件上传漏洞等),且自带 “低、中、高、不可能” 四个安全等级,能让新手从易到难逐步掌握漏洞原理和利用方法。它不是真实网站,而是一个 “网络安全学习靶场”—— 所有操作都在本地或虚拟机中进行,不用担心法律风险,适合零基础入门 Web 安全。

1.2、为什么要装DVWA?

对新手来说,DVWA 是 “性价比最高” 的学习工具,核心原因有 3 个:

  • 门槛低:不用自己写代码搭建漏洞环境,下载后简单配置就能用,省去了学后端开发的时间;
  • 漏洞全面:覆盖 Web 安全领域 80% 以上的常见漏洞,从基础的 SQL 注入到复杂的命令注入,能一站式学完核心知识点;
  • 可控性强:支持调整安全等级,比如 “低级” 模式下漏洞很明显,适合入门;“高级” 模式下漏洞被隐藏,能锻炼实战排查能力。

1.3、DVWA能干什么?

DVWA 的应用场景完全围绕 “Web 安全学习”,主要有 3 类用途:

  • 新手入门:通过 “利用漏洞→获取数据” 的实操,理解 SQL 注入、XSS 等漏洞的原理(比如在 “低级” 模式下,输入' or 1=1 #就能绕过登录,直观看到 SQL 注入的效果);
  • 工具练习:搭配 Burp Suite、Nessus 等安全工具,练习漏洞扫描、流量抓包、Payload 构造(比如用 Burp 抓包修改参数,测试 XSS 漏洞的利用方式);
  • 防护测试:后续装 WAF(如安全狗)后,可在 DVWA 中测试 WAF 的防护效果(比如先让 WAF 拦截 SQL 注入,再尝试绕过,验证防护强度)。

二、搭建DVWA靶场

环境windows server 2016

虚拟机安装windows server 2016教学文章参考:https://blog.csdn.net/zbywlaq/article/details/159432903

安装准备好后,就可以开始装 DVWA 了,重点解决 “文件放置、数据库配置、PHP 参数调整” 三个关键问题。

2.1 下载并放置 DVWA 文件

下载链接:

https://pan.baidu.com/s/1EqB4WPuKvYZoZYUw_srdrg?pwd=1212  # 提取码:1212 

将下载的压缩包解压,得到 “DVWA” 文件夹;

把 “DVWA” 文件夹复制到小皮面板的网站根目录下,路径是你安装小皮的目录\phpstudy_pro\WWW(比如我装在 D 盘,路径就是D:\phpstudy_pro\WWW\DVWA)。

小皮面板的安装教学:往期链接

2.2 配置数据库

2.2.1 修改配置文件

在搭建DVWA的时候,能看到D:\phpstudy_pro\WWW\DVWA\config下面有一个config.inc.php.dist备份文件(这是默认的配置模板,不能直接用);

重命名为config.inc.php(后缀从.dist改成.php,php 才能识别)。

image-20251008150820780

我们复制一份出来,然后修改后缀为php文件

image-20251010103340721

2.2.2 修改数据库账号密码

用记事本编辑这个config.inc.php文件,修改账号密码,否则会导致靶场搭建不成功

$_DVWA['db_user'] = 'root';          // MySQL用户名(默认是root,不用改)
$_DVWA['db_password'] = '123456';  // MySQL密码(需要改成你小皮面板的MySQL密码)

image-20251010103722173

什么?你不知道数据库密码?

来到小皮面板,找到数据库这个导航,然后点击修改密码就行了(默认情况也就是刚安装小皮面板的情况下,root的密码是未知的,你需要修改它),这里我修改为123456

image-20251010104055163

注意:此时你可能在小皮面板没看到 “dvwa” 数据库,不用手动创建,后续 DVWA 会自动生成

image-20251010103815228

我们打开浏览器,输入如下网址

http://10.10.10.138/DVWA/

他就会跳转到这里,这是DVWA的一个初始化界面,包括数据库的创建,以及你需要配置什么东西,才能让这个靶场正常运行等等

http://10.10.10.138/DVWA/setup.php

image-20251010105104268

2.3 调整 PHP 配置

2.3.1 找到 PHP 配置文件

一般情况下,刚安装DVWA的时候,这里都会有一个红色的Disabled,这个怎么让它变成绿色的Enabled

image-20251008151905799

我们下滑到这里,有这样一个提示

if you see disabled on either allow_url_fopen or allow_url_include, set the following in your php.ini file and restart Apache. 翻译:如果在“allow_url_fopen”或“allow_url_include”选项中看到“disabled”字样,请在您的 php.ini 文件中设置以下内容,并重启 Apache 服务器。

image-20251010105644605

那就根据提示,打开小皮面板,小皮面板有快速打开配置文件的选项,找到点击 “设置→配置文件→PHP→对应 PHP 版本的 php.ini”(比如 PHP 7.3,就选 “php-7.3.4-nts php.ini”),直接打开配置文件

2.3.2 修改关键参数

php.ini中搜索allow_url_fopenallow_url_include,将它们的值从Off改成On

allow_url_fopen = On    # 允许PHP打开远程文件
allow_url_include = On  # 允许PHP包含远程文件(DVWA漏洞测试必需)

image-20251008152120911

修改后,回到小皮面板,重启 Apache 服务(必须重启,配置才能生效)。

image-20251010115108896

2.3.3 验证配置是否生效

我们再来到这个界面,可以看到他已经变成了绿色的Enabled,配置成功了

http://10.10.10.138/DVWA/setup.php

image-20251010110018846

这个allow_url_include有什么用?

allow_url_include 是 PHP 中的一个重要配置项,主要用于控制 PHP 是否允许通过 includerequireinclude_oncerequire_once 等文件包含函数加载 远程文件,这里主要是理论,后边实战的时候会介绍,关注后续文章

2.4 创建数据库

2.4.1 自动创建数据库

翻到最下面,有一个创建/重置数据库,点击它

image-20251008152308157

随后会出现一些提示,提示你数据库创建成功

image-20251008152319564

3.4.2 登录 DVWA

耐心等待3s后,网页会自动跳转到这个登录界面,这个登录的账号密码,默认是 admin / password,怎么来的?初始化界面都有

image-20251010112346576

输入账号密码 admin / password ,并点击登录

image-20251008151430366

这样就登录成功啦,靶场也搭建成功

image-20251008152331965

四、总结

搭建好 DVWA 后,建议从 “低安全等级” 开始练习,怎么调整等级?登录后,首页->DVWA Security->Low(最简单的)->Submit,点击submit就修改成功了

image-20251010115549884

随后就可以开始逐层开始过关斩将了,下一期预告,2026最新DVWA通关技巧

五、🎯 网络安全学习资源推荐

觉得文章对你有帮助?想获取更多实战干货?

我们为你准备了一套 「从零到一的网络安全学习资料包」,包括:

  • 🔥 红队攻防实战手册 - 内网渗透、漏洞利用、权限提升
  • 📚 网络安全学习路线图 - 零基础入门到就业完整路径
  • 💼 最新网络安全面试题 - 大厂真题+面试技巧
  • 🛠️ 渗透测试工具包 - 常用工具+使用教程
  • 🎯 靶场搭建全套方案 - DVWA、SQLi-Labs等实战环境

如何获取?

  • 微信搜索公众号:[智榜样网络安全学习中心]
  • 关注后回复关键词:「网络安全」
  • 即可免费领取全套学习资料

💡 适合人群:网络安全初学者、转行人员、在校学生、想要提升实战能力的从业者

我们在网络安全培训领域深耕多年,专注红蓝对抗实战与就业指导,帮助数百名学员成功入行!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐