phpStudy 本地搭建 DVWA、Pikachu、sqli-labs 靶场完整教程
1. 引言对于刚接触 Web 安全的学习者来说搭建一套本地靶场环境是动手实践的第一步。DVWA、Pikachu 和 sqli-labs 是三个非常经典的 Web 漏洞练习平台分别覆盖了综合漏洞演练、常见 Web 漏洞和 SQL 注入专项训练。本文将基于 Windows 环境下的 phpStudy 集成环境详细介绍这三个靶场的搭建过程包括环境准备、源码部署、数据库配置以及常见问题排查帮助你在本地快速搭建起属于自己的安全学习环境。提示本文涉及的工具与靶场仅用于授权的安全学习与测试请勿将其用于任何未经授权的渗透测试或攻击行为。2. phpStudy 环境准备2.1 下载与安装phpStudy 是一款集成了 Apache、Nginx、MySQL、PHP 等组件的 Windows 集成开发环境下载地址为官网 xp.cn。安装步骤如下下载 phpStudy V8.1 安装包并双击运行。选择安装目录建议使用纯英文路径避免中文目录导致未知错误。安装完成后打开 phpStudy 面板。2.2 启动服务打开 phpStudy 面板后点击「启动」按钮启动Apache和MySQL服务。浏览器访问http://localhost/若出现 phpStudy 默认页面说明服务正常。2.3 切换 PHP 版本关键步骤这一步非常关键。DVWA 和 sqli-labs 属于较老的开源项目对高版本 PHP如 8.x的兼容性较差建议切换到PHP 7.4 及以下版本点击 phpStudy 面板左侧的「软件管理」。找到「PHP」栏目安装php7.4nts或php7.3nts。回到首页点击当前 PHP 版本号切换为刚安装的 7.x 版本。确认 Apache 已重启访问http://localhost/phpinfo.php或使用面板「网站」中的「站点管理」验证 PHP 版本。可以在下面插入一张展示 phpStudy 面板中 PHP 版本切换成功的截图方便对照检查。3. DVWA 靶场搭建DVWADamn Vulnerable Web Application是一个用于安全从业者练习常见 Web 漏洞的 PHP/MySQL 靶场包含 SQL 注入、XSS、文件上传、命令注入等多种漏洞。3.1 下载源码访问 GitHub 仓库github.com/digininja/DVWA。点击「Code」→「Download ZIP」下载压缩包。解压后得到DVWA-master文件夹。3.2 部署到站点目录将DVWA-master文件夹重命名为dvwa。复制到 phpStudy 的网站根目录默认为D:\phpstudy_pro\WWW\在浏览器访问http://localhost/dvwa/应看到 DVWA 的初始化页面。3.3 修改配置文件DVWA 默认配置文件为config/config.inc.php.dist需要将其复制并重命名进入dvwa/config/目录。复制config.inc.php.dist重命名为config.inc.php。用编辑器打开config.inc.php重点检查数据库配置$_DVWA[db_server]127.0.0.1;$_DVWA[db_database]dvwa;$_DVWA[db_user]root;$_DVWA[db_password]root;phpStudy 默认 MySQL 用户名为root密码通常也是root请根据自己实际的数据库账号密码修改。3.4 初始化数据库浏览器访问http://localhost/dvwa/setup.php。点击页面底部的「Create / Reset Database」按钮。若显示数据库创建成功页面会自动跳转到登录页。可以在下面插入一张 DVWA 数据库创建成功页面的截图便于确认初始化结果。3.5 登录使用DVWA 默认账号密码用户名admin 密码password登录后建议先在左侧DVWA Security中把安全等级调整为Low方便初学者练习。4. Pikachu 靶场搭建Pikachu 是一个包含漏洞类型较为全面的中文靶场界面友好适合初学者逐步理解和练习各类 Web 漏洞。4.1 下载源码访问 GitHub 仓库github.com/zhuifengshaonianhanlu/pikachu。点击「Code」→「Download ZIP」下载压缩包。解压后得到pikachu-master文件夹。4.2 部署到站点目录将解压后的文件夹重命名为pikachu。复制到站点根目录D:\phpstudy_pro\WWW\浏览器访问http://localhost/pikachu/应当看到 Pikachu 的欢迎页面。4.3 修改配置文件Pikachu 的数据库配置文件位于inc/config.inc.php进入pikachu/inc/目录。打开config.inc.php确认数据库连接配置define(DBHOST,127.0.0.1);define(DBUSER,root);define(DBPW,root);define(DBNAME,pikachu);同样请根据 phpStudy 实际的 MySQL 账号密码进行调整。4.4 初始化数据库访问http://localhost/pikachu/后点击页面上的「初始化安装」按钮程序会自动创建数据库和表结构。初始化成功后即可进入靶场首页开始练习。5. sqli-labs 靶场搭建sqli-labs 是由印度安全研究者开发的 SQL 注入专项练习平台包含 GET 注入、POST 注入、报错注入、盲注、堆叠注入等多种场景是学习 SQL 注入的经典教材。5.1 下载源码访问 GitHub 仓库github.com/Audi-1/sqli-labs。点击「Code」→「Download ZIP」下载压缩包。解压后得到sqli-labs-master文件夹。5.2 部署到站点目录将解压后的文件夹重命名为sqli-labs。复制到站点根目录D:\phpstudy_pro\WWW\浏览器访问http://localhost/sqli-labs/正常情况下会看到 sqli-labs 的主页面一张图片界面。5.3 修改数据库连接配置sqli-labs 的数据库配置文件位于sql-connections/db-creds.inc进入sqli-labs/sql-connections/目录。打开db-creds.inc修改数据库账号密码?php$dbuserroot;$dbpassroot;$dbnamesecurity;$hostlocalhost;$dbname1challenges;?同样把$dbuser和$dbpass修改为 phpStudy 的实际账号密码。5.4 初始化数据库浏览器访问http://localhost/sqli-labs/sql-connections/setup-db.php页面显示数据库创建成功信息后即完成初始化。返回http://localhost/sqli-labs/点击页面图片进入关卡列表即可开始练习。6. 常见问题排查6.1 访问页面出现 404检查文件夹是否放在 phpStudy 网站根目录下。检查文件夹名称是否与访问 URL 一致区分大小写。确认 Apache 服务已正常启动。6.2 提示数据库连接失败确认config.inc.php或db-creds.inc中的账号密码与 phpStudy MySQL 实际账号密码一致。确认 MySQL 服务已启动。确认对应数据库已经创建可运行初始化脚本。6.3 DVWA 页面出现一堆报错如reCAPTCHA相关DVWA 新版加入了 reCAPTCHA 校验本地环境无外网或未配置密钥时会报错。解决办法是打开config/config.inc.php找到以下两行并把 key 留空$_DVWA[recaptcha_public_key];$_DVWA[recaptcha_private_key];6.4 PHP 版本过高导致页面空白或报错DVWA、sqli-labs 等项目在高版本 PHP8.x下经常出现函数已废弃导致的报错。请回到 phpStudy 面板将 PHP 切换为 7.4 或更低版本再刷新页面。6.5 MySQL 权限不足如果初始化数据库时提示权限错误可以在 phpMyAdminphpStudy 面板可一键打开中确认root用户拥有创建数据库的权限或直接新建一个专用数据库用户并授权。8. 总结个靶场对比与选择建议下面从五个维度对 DVWA、Pikachu 和 sqli-labs 进行横向对比靶场主要漏洞类型上手难度界面语言适合人群学习侧重点DVWASQL 注入、XSS、文件上传、命令注入、CSRF 等中等英文已具备一定基础、希望综合练习的学习者综合漏洞演练与安全等级提升PikachuSQL 注入、XSS、文件包含、越权、任意文件上传等常见 Web 漏洞较低中文零基础或刚入门的初学者理解漏洞原理与基础利用sqli-labsSQL 注入专项GET 注入、POST 注入、报错注入、盲注、堆叠注入等较高英文希望深入学习 SQL 注入的学习者SQL 注入专项训练选择建议如下如果你是零基础或刚开始接触 Web 安全建议先从Pikachu开始。它的中文界面和图文说明更友好漏洞类型覆盖较广适合快速理解各类漏洞的基本原理。如果你已经具备一定基础希望把不同漏洞放到同一个环境中综合练习可以以DVWA为主。通过调整Low、Medium、High等安全等级可以循序渐进地提升难度。如果你想集中突破 SQL 注入建议在完成基础学习后进入sqli-labs进行专项训练。它提供了大量分类关卡适合针对不同注入类型反复练习。整体学习顺序可参考Pikachu → DVWA → sqli-labs也可以根据自己的学习目标灵活调整。7. 总结本文基于 phpStudy 集成环境完整介绍了 DVWA、Pikachu、sqli-labs 三个经典靶场的搭建方法。整体流程可以归纳为安装 phpStudy 并启动 Apache、MySQL将 PHP 版本切换为 7.x 以保证老项目兼容下载靶场源码并解压到网站根目录修改各自的数据库配置文件通过浏览器访问并初始化数据库。搭建完成后建议先从 Pikachu 或 DVWA 开始熟悉各类漏洞的基本原理再利用 sqli-labs 针对 SQL 注入进行专项训练。学习过程中请始终遵守法律法规只在本地或获得授权授权的环境中进行安全测试切勿将所学技术用于任何非法用途。

相关新闻

一文掌握 curl 与 wget:Linux 命令行下载利器的区别与实战

一文掌握 curl 与 wget:Linux 命令行下载利器的区别与实战

1. 引言 在日常开发、运维和脚本编写中,从命令行下载文件是高频操作。Linux 世界里有两位“下载明星”——curl 和 wget。它们都能帮你把网络资源取回本地,但设计理念、使用方式和适用场景却有明显差异。本文将系统梳理两者的核心用法、常用参数和本质区…

2026/10/17 15:17:09 阅读更多 →
Scylla-Rust-Driver连接池最佳实践:避免常见性能陷阱

Scylla-Rust-Driver连接池最佳实践:避免常见性能陷阱

Scylla-Rust-Driver连接池最佳实践:避免常见性能陷阱 【免费下载链接】scylla-rust-driver Async CQL driver for Rust, optimized for ScyllaDB! 项目地址: https://gitcode.com/gh_mirrors/sc/scylla-rust-driver Scylla-Rust-Driver是一款为ScyllaDB优化的…

2026/9/29 22:46:53 阅读更多 →
微博粉丝管理指南:如何安全移除粉丝与批量清理方案解析

微博粉丝管理指南:如何安全移除粉丝与批量清理方案解析

1. 从“粉丝”到“关注者”:一次社交媒体关系的主动梳理 在社交媒体上,尤其是像微博这样的公开平台,你的粉丝列表就像是一个不断变化的“访客记录”。时间久了,你会发现列表里可能躺着一些早已不活跃的账号、一些你完全不认识的陌…

2026/10/17 5:43:28 阅读更多 →

最新新闻

线程池+epoll:构建高并发网络服务的关键骨架

线程池+epoll:构建高并发网络服务的关键骨架

1. 先想明白:单线程模型到底堵在哪里1.1 一个连接一个线程的代价网络服务做到第二步,很多项目会开始纠结一个问题:accept 到新连接之后,到底在哪条线程里处理读写?最直觉的方案是“thread per connection”&#xff0c…

2026/10/17 15:17:53 阅读更多 →
用Terser优化E2E测试代码:Cypress和Playwright体积与CI时间大幅下降

用Terser优化E2E测试代码:Cypress和Playwright体积与CI时间大幅下降

测试代码这东西,平时不给它做优化,等到项目一大了,它自己就会跑出来找你算账。尤其是端到端(E2E)测试,用 Cypress 或 Playwright 写出来的一大堆用例,里面充斥着辅助函数、动态选择器、接口 Moc…

2026/10/17 15:17:53 阅读更多 →
HBase与Iceberg:从列式存储误解到数据湖表格式演进

HBase与Iceberg:从列式存储误解到数据湖表格式演进

前两天在技术社群里看到有人提问:HBase到底算不算列式存储?底下吵了几十楼,有人搬出“列式数据库鼻祖”的说法,也有人坚持HBase是NoSQL行存,跟分析型列存没半毛钱关系。说实话,这个问题值得认真回答&#x…

2026/10/17 15:17:53 阅读更多 →
多任务学习实战指南:从共享参数到损失平衡的完整落地路径

多任务学习实战指南:从共享参数到损失平衡的完整落地路径

我在真正动手做多任务学习之前,其实犹豫了很长时间。当时手里的线上模型数量已经多到快失控,三个场景、六个标签,每个都单独训练、单独上线,时间一长光是特征对齐和结果口径的校验就耗掉不少人力。促使我去认真研究Multi-Task Lea…

2026/10/17 15:17:53 阅读更多 →
纯NumPy实现Q Learning迷宫求解:从贝尔曼方程到Q表可视化

纯NumPy实现Q Learning迷宫求解:从贝尔曼方程到Q表可视化

简介:本资源是一份面向强化学习初学者与Python实践者的Q Learning算法完整实现方案,聚焦于离散状态-动作空间下的智能体策略学习问题,适用于高校课程实验、AI自学项目及算法原理验证场景。压缩包共5个文件,包含核心算法脚本qlearn…

2026/10/17 15:17:53 阅读更多 →
HTML游戏代码包本地部署指南:从白屏到中文汉化全流程

HTML游戏代码包本地部署指南:从白屏到中文汉化全流程

简介:《Degrees of Lewdity》中文版安装指南代码包,是一份面向中文玩家与入门开发者的本地化配置参考。它围绕这款文本冒险游戏的汉化安装,系统梳理了从环境准备、仓库克隆、依赖安装到Mod加载器配置的完整链路,适合想亲手复现中文…

2026/10/17 15:16:52 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →