1. Pikachu靶场环境搭建全指南
作为一名长期从事Web安全研究的从业者,我深知一个优质的漏洞练习环境对学习的重要性。Pikachu作为国内知名的Web漏洞练习平台,包含了SQL注入、XSS、CSRF等常见漏洞类型,是安全入门者绝佳的练手工具。下面我将详细分享在Windows系统下搭建Pikachu靶场的完整过程,包含你可能遇到的所有细节问题。
提示:整个搭建过程约需30分钟,需要基本的环境配置能力。如果你是完全新手,建议按步骤操作前先通读全文。
1.1 环境准备与工具选型
在开始前我们需要准备两个核心组件:
- 集成化PHP环境(本文选用小皮面板)
- Pikachu漏洞平台源码
选择小皮面板(原phpStudy)的原因有三:
- 一键集成Apache/Nginx+PHP+MySQL环境,避免手动配置的兼容性问题
- 提供可视化管理界面,特别适合不熟悉服务管理的初学者
- 内置数据库管理工具,方便后续调试和问题排查
2. 小皮面板安装与配置
2.1 下载与安装
访问小皮面板官网下载最新版本。建议选择"完整版"而非"极速版",以确保所有依赖组件齐全。安装时注意:
- 安装路径不要包含中文或特殊字符(推荐
C:\phpstudy_pro) - 安装时关闭杀毒软件,避免误拦截服务组件
- 勾选"创建桌面快捷方式"方便后续启动
安装完成后,你会看到如下目录结构:
code复制phpstudy_pro
├── bin # 核心组件目录
├── Extensions # PHP扩展
├── logs # 日志文件
└── WWW # 网站根目录
2.2 服务启动与验证
双击桌面图标启动控制面板,点击"启动"按钮开启Apache和MySQL服务。正常启动后状态灯会变为绿色:

验证服务是否正常运行:
- 打开浏览器访问
http://localhost - 应看到小皮面板的欢迎页面
- 点击"phpMyAdmin"可进入数据库管理界面(默认账号root,密码root)
2.3 MySQL环境变量配置(关键步骤)
虽然不配置环境变量也能使用,但强烈建议执行此步骤,原因如下:
- 避免每次都要进入bin目录执行命令
- 方便后续使用命令行管理数据库
- 其他工具(如Navicat)依赖此配置
具体操作:
- 进入
phpstudy_pro\bin\mysql\mysql版本号\bin - 复制完整路径(如
C:\phpstudy_pro\bin\mysql\mysql5.7.26\bin) - Win+R输入
sysdm.cpl打开系统属性 - 高级→环境变量→系统变量中找到Path→编辑→新建
- 粘贴MySQL的bin目录路径
验证配置:
bash复制mysql -uroot -p
输入密码root后应成功进入MySQL命令行界面。
3. Pikachu平台部署
3.1 获取源码
从GitHub官方仓库下载最新版本:
bash复制https://github.com/zhuifengshaonianhanlu/pikachu
下载后解压到小皮面板的网站根目录(phpstudy_pro\WWW),建议重命名为pikachu保持路径简洁。
3.2 数据库配置修改
进入pikachu/inc目录,编辑config.inc.php文件,需要修改以下关键参数:
php复制$dbuser = 'root'; // 数据库用户名
$dbpass = 'root'; // 数据库密码
$dbname = 'pikachu'; // 数据库名(保持默认)
$host = 'localhost'; // 数据库主机
注意:小皮面板默认MySQL密码是root,如果你修改过密码,此处需同步更新。
3.3 初始化安装
访问安装页面完成初始化:
code复制http://localhost/pikachu/install.php
你会看到如下安装界面:

点击"安装/重置数据库"按钮,成功后会出现所有漏洞模块的入口链接。至此基础安装完成。
4. 进阶配置与优化
4.1 解决常见安装问题
问题1:数据库连接失败
- 检查
config.inc.php中的密码是否与小皮面板MySQL密码一致 - 确认MySQL服务已启动(小皮面板显示绿灯)
- 尝试在phpMyAdmin中手动连接测试
问题2:页面访问404
- 确认文件放在
WWW目录下的正确子目录 - 检查Apache的
httpd.conf中DocumentRoot指向正确 - 清除浏览器缓存后重试
问题3:安装按钮点击无反应
- 确保目录有写入权限(特别是
/inc和/install) - 查看PHP错误日志(
phpstudy_pro\logs\php_error.log) - 临时关闭防火墙测试
4.2 安全加固建议
虽然这是本地测试环境,但良好的安全习惯很重要:
-
修改MySQL默认密码:
sql复制ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; -
限制phpMyAdmin访问:
- 编辑
phpstudy_pro\phpMyAdmin\config.inc.php - 添加
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
- 编辑
-
定期备份数据库:
bash复制
mysqldump -uroot -p pikachu > pikachu_backup.sql
5. 平台使用指南
5.1 漏洞模块说明
Pikachu包含以下核心漏洞类型:
- SQL注入:数字型/字符型/搜索型等
- XSS:反射型/存储型/DOM型
- CSRF:GET/POST类型案例
- RCE:命令执行与代码执行
- 文件包含:本地/远程包含漏洞
- SSRF:服务器端请求伪造
- XXE:XML外部实体注入
每个模块都有"漏洞概述"、"漏洞利用"和"漏洞分析"三个部分,建议按此顺序学习。
5.2 推荐学习路径
根据我的教学经验,建议按以下顺序练习:
- 暴力破解 → 了解基础认证机制
- XSS → 最直观的前端漏洞
- CSRF → 理解会话机制
- SQL注入 → 掌握数据库交互
- 文件上传 → 学习防护绕过
- RCE → 理解系统命令执行
6. 开发环境配置技巧
6.1 启用错误显示(调试用)
编辑phpstudy_pro\php\php版本号\php.ini:
ini复制display_errors = On
error_reporting = E_ALL
重启Apache服务后生效,方便查看PHP错误信息。
6.2 使用Xdebug调试
- 在小皮面板中切换PHP版本到带Debug的版本
- 在VSCode安装PHP Debug扩展
- 创建调试配置:
json复制{ "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003 }
6.3 数据库管理建议
除了phpMyAdmin,推荐使用:
- Navicat:更直观的GUI工具
- DBeaver:开源的通用数据库工具
- HeidiSQL:轻量级MySQL客户端
这些工具可以方便地查看Pikachu的数据库结构,理解漏洞原理。
我在实际教学中发现,约30%的安装问题源于路径配置错误,特别是当Windows用户名包含中文时。如果遇到问题,可以尝试:
- 将整个phpstudy_pro目录移动到英文路径(如
C:\web) - 检查所有配置文件的路径引用
- 使用
where mysql命令确认环境变量生效