从零到一:手把手教你部署Pikachu靶场实战环境
1. 为什么选择Pikachu靶场练手第一次接触网络安全实战的朋友我强烈推荐从Pikachu靶场开始。这个开源项目就像网络安全界的乐高积木把SQL注入、XSS、CSRF等常见漏洞都做成了模块化实验环境。我五年前刚开始学渗透测试时就是在Pikachu上摔打出来的实战经验。相比其他靶场它有三大优势特别适合新手首先是漏洞种类齐全从基础的暴力破解到进阶的RCE漏洞都有现成案例其次是操作界面友好每个漏洞模块都有详细的中文说明最重要的是环境搭建简单用PHPStudy一键部署不用折腾复杂的Docker或虚拟机网络配置。记得我第一次成功利用SQL注入漏洞获取管理员密码时那种突破防线的成就感至今难忘。Pikachu的每个实验场景都像精心设计的谜题当你用BurpSuite截获第一个POST请求或者通过union查询爆出数据库字段时会比看十本理论书都学得更扎实。2. 部署前的准备工作2.1 硬件配置建议虽然Pikachu对硬件要求不高但根据我带学员的经验还是建议准备至少4GB内存的Windows电脑。去年有个学员用2GB内存的老笔记本跑PHPStudy时频繁卡死后来换成云服务器才解决问题。如果条件允许最好准备处理器i5及以上避免AMD老架构内存8GB理想4GB勉强可用磁盘空间至少20GB空闲用于存放虚拟机快照网络能稳定访问Github/Baidu网盘2.2 软件环境选择新手最容易踩的坑就是版本兼容性问题。经过多次测试我推荐这个黄金组合PHPStudy v8.1集成Apache 2.4.39和MySQL 5.7.26Pikachu 2023版Github上master分支最新代码浏览器Chrome 100或Firefox最新版特别提醒千万别用PHPStudy 2016版去年有个学员死活连不上数据库折腾三天才发现是旧版PHPStudy的MySQL服务有bug。建议直接去官网下载最新版下载地址在文末会提供。3. 一步步安装PHPStudy3.1 下载与安装打开PHPStudy官网https://www.xp.cn找到Windows版的下载按钮。这里有个细节要注意64位系统一定要选带x64的版本。我见过不下十个学员因为下载了32位版本导致后续各种诡异报错。下载完成后右键压缩包选择解压到当前文件夹。这时候要特别注意解压路径——强烈建议直接放在D盘根目录。去年有个学员把PHPStudy装在我的文档里结果Windows自动更新后路径变成中文导致所有服务启动失败。双击解压后的phpstudy_pro.exe安装过程记住三个关键点关闭所有杀毒软件特别是360会误删关键组件安装路径不要有中文或空格勾选创建桌面快捷方式3.2 基础配置安装完成后首次启动时会弹出防火墙提示一定要选择允许访问。我遇到过学员因为点了取消导致Apache始终无法启动的情况。服务启动后按照这个顺序检查Apache状态显示绿色运行中MySQL状态同样绿色点击数据库标签修改root密码建议设为123456方便记忆关键步骤来了打开cmd输入mysql -uroot -p123456如果看到mysql提示符说明数据库连接正常。要是报错Cant connect to MySQL server八成是3306端口被占用可以在PHPStudy里修改MySQL端口号。4. 部署Pikachu靶场4.1 下载与解压Pikachu的源码包可以从Github或百度网盘获取文末附链接。下载完成后需要解压到PHPStudy的WWW目录下。这里有个实用技巧先把文件夹重命名为纯英文的pikachu避免后续路径问题。我强烈建议在解压前关闭PHPStudy的所有服务否则可能会遇到文件占用错误。去年有个学员在服务运行状态下直接覆盖文件导致inc目录下的配置文件损坏花了两个小时排查。4.2 数据库配置打开pikachu/inc/config.inc.php文件找到这几行关键配置$dbuser root; //数据库账号 $dbpass 123456; //数据库密码 $dbname pikachu; //数据库名需要特别注意数据库名必须保持pikachu不变有学员改成其他名字导致初始化失败。密码则要和PHPStudy里设置的MySQL密码一致。回到PHPStudy界面点击数据库-创建数据库输入数据库名pikachu用户名和密码按config.inc.php里的配置填写。这里有个隐藏技巧字符集一定要选utf8mb4否则后面存储中文数据会乱码。5. 解决常见部署问题5.1 网站访问404错误当你在浏览器输入http://localhost/pikachu却看到404页面时按这个顺序排查检查PHPStudy的Apache是否正常运行确认pikachu文件夹是否放在WWW目录下查看Apache的httpd.conf是否有Include conf/vhosts/*.conf最近遇到个典型案例学员的PHPStudy安装在D盘但Apache默认配置里DocumentRoot还是指向C盘路径。解决方法是在PHPStudy界面点击设置-配置文件-httpd.conf修改DocumentRoot为实际路径。5.2 数据库连接失败如果访问install.php时提示数据库连接错误先用telnet测试3306端口是否通畅telnet 127.0.0.1 3306如果连接被拒绝很可能是MySQL服务没启动。可以在PHPStudy里重启MySQL服务或者检查my.ini配置文件中是否有skip-networking这样的参数。有个高级技巧在MySQL命令行执行show variables like %port%;确认监听端口确实是3306。我遇到过学员的MySQL莫名变成监听3307端口的情况。6. 靶场初始化与验证6.1 完成安装向导在浏览器访问http://localhost/pikachu/install.php点击初始化安装按钮。这个过程会做三件事创建必要的数据库表写入初始数据生成配置文件锁install.lock如果页面长时间空白可能是权限问题。解决方法是在pikachu目录下执行chmod -R 777 inc/6.2 功能测试初始化完成后建议重点测试这几个模块SQL注入尝试在搜索框输入 and 11 --XSS在留言板输入scriptalert(1)/scriptCSRF观察修改密码请求是否缺少token验证去年带学员时发现一个有趣现象约30%的人在测试文件上传漏洞时会忘记修改php.ini里的upload_max_filesize配置导致大文件上传失败。这个细节很能检验配置是否完善。