Pikachu 靶场搭建
一、简介
Pikachu 是一个带有漏洞的 Web 应用系统,在这里包含了常见的 web 安全漏洞。 如果你是一个 Web 渗透测试学习人员且正发愁没有合适的靶场进行练习,那么 Pikachu 可能正合你意。
GitHub:https://github.com/zhuifengshaonianhanlu/pikachu
二、环境搭建
在 Windows 环境下搭建 Pikachu 靶场,需要准备好 php、Apache、MySQL
1、php
进入 php 的下载页面:https://www.php.net/downloads.php
这里选择 Windows 版本的 php7.4.28,选择 Windows downloads
需要 VS15 的运行库,选择 VC15 x64 Thread Safe 的版本下载
关于 VC15 x64 Non Thread Safe
和 VC15 x64 Thread Safe
None-Thread Safe 就是非线程安全,在执行时不进行线程安全检查;
Thread Safe 就是线程安全,执行时会进行线程安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
PHP 有两种执行方式:
ISAPI
和FastCGI
- FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(搭配 IIS)执行 PHP ,都建议下载执行 non-thread safe 的 PHP 。(Internet Information Services,简称 IIS)
- ISAPI 执行方式是需要线程安全检查的,因为有许多 php 模块都不是线程安全的,所以需要使用 Thread Safe 的 PHP(搭 apache)。
下载完成后解压,我的 php 的根目录的绝对路径为 D:\My\project\php
修改配置文件
找到 php 根路径下的 php.ini-production
文件,复制出来一份重命名为 php.ini
需要修改三处
1、打开 php.ini
后搜索 ;extension_dir = "ext"
找到 ; On windows:
这句话下面的这句,去掉前面的 ;
注释符,填入自己 ext 的绝对路径
1 | extension_dir = "D:\My\project\php\ext" |
2、启用 mysql 功能
搜索 extension=mysqli
,去掉前面的注释,启用 mysql 功能
3、启用 GD2 函数库
这个不启用的话 Pikachu 的验证码无法正常显示
搜索 extension=gd2
,去掉前面的注释,启用 GD2 函数库
2、Apache
Apache 的安装见:Apache 服务的安装
安装完以后需要支持 php 环境,在 Apache 根目录下 找到 conf\httpd.conf
,在文件末尾加入以下内容(自行修改)
1 | # 载入php7处理模块,自行填入php根目录下的php7apache2_4.dll路径 |
接着搜索 <IfModule dir_module>
,添加默认的 index.php
页面
1 | <IfModule dir_module> |
从新启动 Apache 服务
1 | httpd -k restart |
3、MySQL
选择的是 MySQL57 版本,见 Windows 安装 mysql57 的一些配置
三、运行
修改从 GitHub 下载好的 Pikachu,修改前台数据连接配置 pikachu\inc\config.inc.php
我使用的是本地数据库,所以只需要修改 MySQL 数据库连接的账号密码
接着修改后台数据库连接配置:pikachu\pkxss\inc\config.inc.php
文件
将改好以后的文件整体放到 Apache24\htdocs
目录下
浏览器访问:http://localhost/pikachu/
点击进去后按照要求,点击“安装/初始化”按钮,即可