Kali Linux 实战:一站式部署 Pikachu 靶场环境
1. 为什么选择Kali Linux部署Pikachu靶场如果你刚开始学习网络安全一定会被各种专业术语和复杂环境搞得晕头转向。我当年也是这样直到发现了Pikachu这个神奇宝贝——它把常见的Web漏洞都打包成了一个直观的靶场环境。而Kali Linux作为渗透测试的瑞士军刀自带300安全工具简直是绝配。实测下来这套组合有三大优势开箱即用Kali预装了Apache、MySQL等必备服务工具链完整从信息收集到漏洞利用的工具一应俱全学习曲线平缓Pikachu的漏洞案例都有详细说明最近帮学弟配置环境时发现网上教程要么太老要么缺关键步骤。下面我就把踩过的坑和优化方案都整理出来保证你20分钟内就能玩转这个靶场。2. 环境准备与基础配置2.1 更新Kali系统刚安装好的Kali就像没磨过的刀得先开刃。打开终端执行sudo apt update sudo apt upgrade -y sudo apt install -y git curl vim这里有个细节要注意如果遇到Unable to locate package错误可能是源有问题。我习惯用阿里云的镜像源速度更快sudo sed -i s|http.kali.org|mirrors.aliyun.com/kali|g /etc/apt/sources.list2.2 安装LAMP环境Pikachu需要PHP和MySQL支持但Kali 2023默认没装全。用这个命令一键搞定sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql安装完成后建议做个安全检查给MySQL设置root密码sudo mysql_secure_installation测试PHP解析在/var/www/html新建test.php写入?php phpinfo();?浏览器访问http://localhost/test.php应该能看到版本信息3. 部署Pikachu靶场3.1 下载与配置直接从GitHub克隆最新版国内用户可以用Gitee镜像cd /var/www/html sudo git clone https://github.com/zhuifengshaonianhanlu/pikachu.git sudo chown -R www-data:www-data pikachu关键点来了很多教程没提权限问题。www-data是Apache的默认用户不设置权限会导致页面报错。3.2 数据库初始化Pikachu需要先建数据库。我推荐用命令行操作sudo mysql -u root -p CREATE DATABASE pikachu; GRANT ALL PRIVILEGES ON pikachu.* TO pikachulocalhost IDENTIFIED BY pikachu; FLUSH PRIVILEGES;然后导入数据结构mysql -u pikachu -p pikachu /var/www/html/pikachu/pikachu.sql4. 常见问题排查4.1 页面显示异常如果访问http://localhost/pikachu出现乱码或空白页按这个顺序检查Apache是否运行sudo systemctl status apache2PHP模块是否加载sudo a2enmod php7.4根据版本调整错误日志位置tail -f /var/log/apache2/error.log4.2 数据库连接失败配置文件在/var/www/html/pikachu/inc/config.inc.php确保这些参数正确$dbuser pikachu; $dbpass pikachu; $dbname pikachu;遇到过最坑的情况是MySQL 8.0的加密方式变更解决方法sudo mysql -u root -p ALTER USER pikachulocalhost IDENTIFIED WITH mysql_native_password BY pikachu;5. 靶场功能体验指南部署成功后你会看到这些经典漏洞演示SQL注入包括数字型、字符型、搜索型等多种变体XSS攻击存储型、反射型、DOM型完整案例CSRF银行转账模拟场景文件包含本地包含与远程包含对比每个漏洞都有漏洞概述、漏洞利用和漏洞防御三个模块。建议先用Burp Suite抓包观察请求再结合源码理解原理。比如SQL注入部分你可以看到错误回显是如何泄露数据库结构的。6. 安全加固建议虽然是本地环境但好习惯要从小培养修改默认密码别再用pikachu/pikachu这样的弱口令限制访问IP编辑/etc/apache2/sites-available/000-default.conf添加Directory /var/www/html/pikachu Require ip 192.168.1.0/24 /Directory定期备份数据库mysqldump -u pikachu -p pikachu pikachu_backup.sql这套环境我用了三年带过上百个学生。最大的心得是不要只停留在点击攻击按钮要深入理解每个漏洞背后的代码逻辑。比如尝试修改Pikachu的防御代码比较不同防护方案的效果差异。