目录
[一、前期准备(知识点边界:环境适配 + 权限网络配置)](#一、前期准备(知识点边界:环境适配 + 权限网络配置))
[1.1 系统环境要求](#1.1 系统环境要求)
[1.2 软件下载清单](#1.2 软件下载清单)
[1.3 管理员账户启用与 UAC 权限调整](#1.3 管理员账户启用与 UAC 权限调整)
[1.4 防火墙端口放行](#1.4 防火墙端口放行)
[二、phpstudy 安装与核心配置(知识点边界:安装流程 + 组件配置 + 服务验证)](#二、phpstudy 安装与核心配置(知识点边界:安装流程 + 组件配置 + 服务验证))
[2.1 phpstudy 下载与安装](#2.1 phpstudy 下载与安装)
[2.2 组件选择与安装](#2.2 组件选择与安装)
[2.3 端口配置与冲突检测](#2.3 端口配置与冲突检测)
[2.4 服务启动与状态验证](#2.4 服务启动与状态验证)
[2.5 数据库初始化与密码设置](#2.5 数据库初始化与密码设置)
[三、DVWA 靶场部署流程(知识点边界:源码部署 + 配置文件修改 + 数据库关联)](#三、DVWA 靶场部署流程(知识点边界:源码部署 + 配置文件修改 + 数据库关联))
[3.1 DVWA 源码下载与解压](#3.1 DVWA 源码下载与解压)
[3.2 配置文件修改(核心步骤)](#3.2 配置文件修改(核心步骤))
[3.3 创建 DVWA 专用数据库](#3.3 创建 DVWA 专用数据库)
[3.4 php.ini 关键参数配置](#3.4 php.ini 关键参数配置)
[四、环境验证与功能测试(知识点边界:访问测试 + 功能检测)](#四、环境验证与功能测试(知识点边界:访问测试 + 功能检测))
[4.1 靶场访问测试](#4.1 靶场访问测试)
[1. 确认 MySQL 的实际账号密码](#1. 确认 MySQL 的实际账号密码)
[2. 在小皮中操作 MySQL打开小皮进入 phpMyAdmin;](#2. 在小皮中操作 MySQL打开小皮进入 phpMyAdmin;)
[4.3 漏洞模块可用性检测](#4.3 漏洞模块可用性检测)
[五、高频问题排查与解决方案(知识点边界:5 类新手常见问题 + 命令级解决方案)](#五、高频问题排查与解决方案(知识点边界:5 类新手常见问题 + 命令级解决方案))
[问题 1:80/3306 端口占用,phpstudy 服务启动失败](#问题 1:80/3306 端口占用,phpstudy 服务启动失败)
[问题 2:DVWA 登录后提示数据库连接失败](#问题 2:DVWA 登录后提示数据库连接失败)
[问题 3:DVWA 提示 Permission denied(目录权限不足)](#问题 3:DVWA 提示 Permission denied(目录权限不足))
[问题 4:php 扩展缺失,页面显示空白或报错](#问题 4:php 扩展缺失,页面显示空白或报错)
[问题 5:DVWA 页面 CSS/JS 加载失败,显示错乱](#问题 5:DVWA 页面 CSS/JS 加载失败,显示错乱)
六、后续预告
合规免责声明
本文所涉及的 DVWA 靶场搭建、配置及测试技术,仅用于网络安全学习、渗透测试技术研究场景。使用者必须严格遵守《中华人民共和国网络安全法》《计算机信息网络国际联网安全保护管理办法》等相关法律法规,严禁将技术用于未经授权的网络攻击、数据窃取等违法违规行为。因违规使用本文技术内容造成的一切法律责任、经济损失,均由使用者自行承担。本文内容仅为技术分享,不承担任何连带责任。
思维导图(细化到子步骤)

一、前期准备(知识点边界:环境适配 + 权限网络配置)
1.1 系统环境要求
本文适配 Windows11 专业版 / 企业版,该版本对 phpstudy 组件兼容性最佳;若使用 Windows11 家庭版,需注意:
- 家庭版缺少部分组策略功能,可能导致端口占用排查、权限配置操作受限;
- 建议切换到内置管理员账户进行后续操作,减少权限问题。
1.2 软件下载清单
| 软件名称 | 用途 | 官方下载地址 |
|---|---|---|
| phpstudy | Web 环境集成套件 | phpstudy 官方下载页 |
| DVWA 源码 | 渗透测试靶场 | DVWA GitHub 仓库 |
| Chrome/Firefox | 靶场访问测试 | 浏览器官网直接下载 |
1.3 管理员账户启用与 UAC 权限调整
步骤 1:启用内置管理员账户 按下 Win+R 输入 cmd,右键以管理员身份运行命令提示符,执行以下命令(方法很多,比较简单,这就不在多说了):
net user administrator /active:yes
执行完成后,注销当前账户,切换到 Administrator 账户登录,避免普通账户权限不足。
步骤 2:调整 UAC 权限 控制面板 → 用户账户 → 更改用户账户控制设置 → 拖动滑块到从不通知 → 点击 "确定" → 重启电脑生效。
1.4 防火墙端口放行
phpstudy 默认使用 80(HTTP 端口)、3306(MySQL 端口),需在防火墙中放行:
- 控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则;

- 规则类型选择端口 → 勾选 TCP → 输入端口号
80,3306→ 允许连接; - 勾选 "域、专用、公网" → 规则名称填写 "phpstudy 靶场端口" → 完成。


二、phpstudy 安装与核心配置(知识点边界:安装流程 + 组件配置 + 服务验证)
2.1 phpstudy 下载与安装
- 访问 phpstudy 官网,下载最新版 Windows 安装包(约 78MB);

- 右键安装包 → 以管理员身份运行 ,选择安装路径(建议非系统盘,如
D:\phpstudy_pro);
- 点击 "立即安装" → 等待安装完成。

2.2 组件选择与安装
phpstudy 支持多版本组件切换,本文选择兼容性最佳 的组合:Apache 2.4 + MySQL 5.7
- 安装完成后自动启动 phpstudy 控制面板 → 点击 "组件管理";
- 在 "Web 服务器" 中勾选
Apache 2.4→ "数据库" 勾选MySQL 5.7;
- 点击 "一键安装" → 等待组件下载安装完成(约 5-10 分钟)。
2.3 端口配置与冲突检测
核心逻辑:端口是服务通信的 "通道",若 80/3306 端口被其他程序(如 IIS、MySQL 其他版本)占用,会导致 phpstudy 服务启动失败。
步骤 1:端口占用检测 在 phpstudy 控制面板 → 点击 "端口检测" → 输入端口号 80 和 3306 → 点击 "检测"。
- 若显示 "端口未被占用":直接进入下一步;
- 若显示 "端口被占用":记录占用进程 PID,点击 "强制释放" → 确认释放端口。
**步骤 2:手动修改端口(可选)**若强制释放失败,可手动修改端口:
- 点击 "设置" → "端口设置";
- 将 Apache 端口从 80 修改为
8080,MySQL 端口从 3306 修改为3307; - 点击 "保存" → 重启 phpstudy 服务。

2.4 服务启动与状态验证
- 返回 phpstudy 控制面板 → 点击 "启动" 按钮(启动 Apache 和 MySQL 服务);
- 若服务图标显示绿色 ,说明启动成功;若显示红色,需排查端口或组件问题。
- 验证 Web 服务:打开浏览器,访问
http://localhost:80(或修改后的端口http://localhost:8089),出现 phpstudy 默认页面则说明 Apache 运行正常。
2.5 数据库初始化与密码设置
-
点击 phpstudy 控制面板 → "数据库" → "MySQL 管理" → 打开 phpMyAdmin;
-
登录 phpMyAdmin,默认账号
root,默认密码root;
-
点击 "修改密码" → 输入新密码(如
dvwa@123456) → 保存修改; -
核心操作:执行 SQL 命令赋予 root 用户远程访问权限(仅本地测试用):
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '你的新密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
三、DVWA 靶场部署流程(知识点边界:源码部署 + 配置文件修改 + 数据库关联)
3.1 DVWA 源码下载与解压
-
访问 DVWA GitHub 仓库 → 点击 "Code" → "Download ZIP" → 下载源码压缩包;


-
解压压缩包 → 将解压后的文件夹重命名为
dvwa; -
将
dvwa文件夹复制到 phpstudy 的网站根目录:D:\phpstudy_pro\WWW。
3.2 配置文件修改(核心步骤)
DVWA 需通过配置文件关联数据库,步骤如下:
-
进入
D:\phpstudy_pro\WWW\dvwa\config目录; -
复制
config.inc.php.dist文件 → 重命名为config.inc.php; -
右键
config.inc.php→ 选择 "编辑"(建议用 Notepad++) → 修改以下参数:数据库连接配置
_DVWA['db_server'] = '127.0.0.1'; // MySQL 服务器地址 _DVWA['db_database'] = 'dvwa'; // 要创建的数据库名
_DVWA['db_user'] = 'root'; // MySQL 用户名 _DVWA['db_password'] = 'dvwa@123456'; // 你设置的 MySQL 密码
$_DVWA['db_port'] = '3306'; // MySQL 端口(若修改则对应修改)关闭 reCAPTCHA 验证(新手必备)
_DVWA['recaptcha_public_key'] = ''; _DVWA['recaptcha_private_key'] = '';
3.3 创建 DVWA 专用数据库
方式 1:phpMyAdmin 可视化创建(新手推荐)
- 登录 phpMyAdmin → 点击 "新建" → 数据库名输入
dvwa→ 字符集选择utf8_general_ci→ 点击 "创建"。 - 没有phpmyadmin的在软件商店找到并点击安装,然后点击管理,就进入到登录界面了,输入之前设置的数据库密码就行。


创建dvwa数据库
方式 2:SQL 命令创建
# sql
CREATE DATABASE IF NOT EXISTS dvwa DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3.4 php.ini 关键参数配置
DVWA 运行需要开启 php 的 allow_url_fopen 和 display_errors 功能,步骤如下:
- 回到 phpstudy 控制面板 → 点击 "软件管理" → 选择
PHP 对应版本→ 点击 "安装" (我的已经安装好了,没安装参考图例);
- 安装好的找到php.ini文件,路径在安装小皮的目录下面D:\phpstudy_pro\Extensions\php\php7.3.4nts

- 查找
allow_url_fopen→ 将值改为On;
- 查找
display_errors→ 将值改为On;
- 查找
extension=mysqli→ 去掉前面的分号(开启 mysqli 扩展,解决数据库连接问题);
- 保存修改 → 重启 Apache 服务生效。
四、环境验证与功能测试(知识点边界:访问测试 + 功能检测)
4.1 靶场访问测试
-
确保 phpstudy 的 Apache 和 MySQL 服务处于启动状态;
-
打开浏览器 → 访问
http://localhost/dvwa(若修改端口则为http://localhost:8080/dvwa); -
出现 DVWA 页面,说明部署成功。

-
创建 / 重置数据库
点击页面底部的 "Create / Reset Database" 按钮 ,系统会自动创建 DVWA 所需的数据库,并生成配置文件
config.inc.php。如果出现下面的截图,或没有跳转
这是 DVWA 的数据库连接错误提示,错误原因是数据库用户dvwa@localhost的访问被拒绝,解决步骤如下:这是 DVWA 的数据库连接错误提示,错误原因是数据库用户
dvwa@localhost的访问被拒绝,解决步骤如下:1. 确认 MySQL 的实际账号密码
小皮(phpStudy)中 MySQL 的默认账号通常是
root,密码默认为空或root,而 DVWA 默认配置的用户是dvwa,需先在 MySQL 中创建dvwa用户并授权。2. 在小皮中操作 MySQL打开小皮进入 phpMyAdmin;
-
登录 MySQL(用
root账号); -
执行 SQL 语句创建
dvwa用户并授权:# sql CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'dvwa'; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost'; FLUSH PRIVILEGES;
-

- 修改 DVWA 的配置文件
-
找到 DVWA 目录下的
config.inc.php(若没有,复制config.inc.php.dist并重命名); -
打开文件,修改数据库配置为实际的 MySQL 信息:
$_DVWA[ 'db_user' ] = 'dvwa'; // 改为创建的用户名 $_DVWA[ 'db_password' ] = 'dvwa'; // 改为设置的密码 $_DVWA[ 'db_port' ] = '3306'; // 确认小皮中MySQL的端口(默认3306)
- 重新尝试创建数据库
保存配置文件后,返回 DVWA 页面,再次点击「Create / Reset Database」按钮,即可完成数据库连接,再次点击「Create / Reset Database」即可跳转到登录页面。
4.3 漏洞模块可用性检测
- 登录 DVWA 主界面 → 左侧菜单选择
SQL Injection(SQL 注入模块);
- 输入任意 ID(如 1) → 点击 "Submit" → 页面返回用户信息,说明模块正常运行;

- 切换漏洞等级:点击右上角
DVWA Security→ 选择Medium/High→ 验证等级切换功能。
五、高频问题排查与解决方案(知识点边界:5 类新手常见问题 + 命令级解决方案)
问题 1:80/3306 端口占用,phpstudy 服务启动失败
现象 :phpstudy 控制面板中 Apache/MySQL 服务显示红色,提示 "端口被占用"。解决方案:
-
以管理员身份运行 cmd → 执行端口检测命令:
检测 80 端口占用进程
netstat -ano | findstr ":80"
检测 3306 端口占用进程
netstat -ano | findstr ":3306"
-
记录返回的 PID → 打开任务管理器 → 详细信息 → 找到对应 PID 的进程 → 右键 "结束任务";
-
若进程无法结束(如系统进程),参考 2.3 步骤修改 phpstudy 端口。
问题 2:DVWA 登录后提示数据库连接失败
现象 :登录后显示 Could not connect to the database。解决方案:
-
检查
config.inc.php文件中的数据库参数是否正确(账号、密码、端口); -
确认 MySQL 服务已启动 → phpstudy 控制面板重启 MySQL;
-
检查 php 的 mysqli 扩展是否开启 → 参考 3.4 步骤开启扩展并重启 Apache;
-
执行 SQL 命令重置 root 权限:
sql
GRANT ALL ON dvwa.* TO 'root'@'localhost' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;
问题 3:DVWA 提示 Permission denied(目录权限不足)
现象 :点击 Create / Reset Database 提示权限不足,无法创建数据表。解决方案:
- 右键
dvwa文件夹 → 属性 → 安全 → 编辑 → 添加Administrator用户; - 勾选 "完全控制" 权限 → 应用 → 确定;
- 进入
dvwa\hackable\uploads目录 → 同样赋予完全控制权限(文件上传模块需要)。
问题 4:php 扩展缺失,页面显示空白或报错
现象 :访问 DVWA 页面空白,或提示 Call to undefined function mysqli_connect()。解决方案:
- 确认 php 7.4 版本已安装 mysqli 扩展 → phpstudy 组件管理检查;
- 打开 php.ini → 确保
extension_dir指向正确的扩展路径(如D:\phpstudy_pro\Extensions\php\php7.4.33nts\ext); - 重启 Apache 服务 → 访问
http://localhost/phpinfo.php(新建 php 文件写入<?php phpinfo();?>) → 搜索mysqli,确认扩展已加载。
问题 5:DVWA 页面 CSS/JS 加载失败,显示错乱
现象 :登录后页面无样式,文字排版混乱。解决方案:
- 检查
config.inc.php中的$_DVWA['base_url']参数 → 若修改过端口,需改为http://localhost:8080/dvwa; - 清除浏览器缓存 → 按
Ctrl+F5强制刷新页面; - 确认 phpstudy 的 Apache 服务已启动 → 检查网站根目录权限是否正确。
六、后续预告
本文仅覆盖 DVWA 靶场的基础搭建与入门验证,关于靶场的深度使用技巧、漏洞复现实战、安全加固策略等进阶内容,我将在后续付费专栏中持续更新。关注我,获取更多网络安全实战干货,让你的渗透测试学习之路少走弯路!


