pikachu靶场搭建

写在前面

  • “如果你想搞懂一个漏洞,比较好的方法是:你可以自己先制造出这个漏洞(用代码编写),然后再利用它,最后再修复它”。
  • Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。

Pikachu上的漏洞类型列表如下:

  • Burt Force(暴力破解漏洞)
  • XSS(跨站脚本漏洞)
  • CSRF(跨站请求伪造)
  • SQL-Inject(SQL注入漏洞)
  • RCE(远程命令/代码执行)
  • Files Inclusion(文件包含漏洞)
  • Unsafe file downloads(不安全的文件下载)
  • Unsafe file uploads(不安全的文件上传)
  • Over Permisson(越权漏洞)
  • ../../../(目录遍历)
  • I can see your ABC(敏感信息泄露)
  • PHP反序列化漏洞
  • XXE(XML External Entity attack)
  • 不安全的URL重定向
  • SSRF(Server-Side Request Forgery)
  • 管理工具
  • More...(找找看?..有彩蛋!)

管理工具里面提供了一个简易的xss管理后台,供你测试钓鱼和捞cookie,还可以搞键盘记录!~

后续会持续更新一些新的漏洞进来,也欢迎你提交漏洞案例给我,最新版本请关注pikachu

每类漏洞根据不同的情况又分别设计了不同的子类

同时,为了让这些漏洞变的有意思一些,在Pikachu平台上为每个漏洞都设计了一些小的场景,点击漏洞页面右上角的"提示"可以查看到帮助信息。

使用Dockers 搭建靶场

  • 安装docker
  • 因为我使用的是kali 这里就直接安装了
apt-get install docker.io
  • 搜索 pikachu 的镜像容器
┌──(rootkali)-[/home/kali] └─# docker search pikachu NAME DESCRIPTION STARS OFFICIAL AUTOMATED area39/pikachu https://github.com/zhuifengshaonianhanlu/pik… 13 vulfocus/pikachu 1 monstertsl/pikachu Pikachu是一个带有漏洞的Web应用靶场镜像 1 unnotechpromotion/pikachu 0 howhacker/pikachu pikachu靶场 0 foolderek/pikachu pikachu 0 hominsu/pikachu Pikachu pre-built docker environments, suppo 0 sibei/pikachu 0 unnotechums/pikachu 0 xenny/pikachu 0 cuer/pikachu Pikachu是一个带有漏洞的Web应用系统,在这里包… 0 vulshare/pikachu 0 hirune924/pikachu https://github.com/hirune924/pikachu/blob/ma… 0 johncada27/pikachu 0 cyruswireless/pikachu 0 tanyiqu/pikachu 0 alexanso/pikachu 0 alexchnggt/pikachu 0 newbee740/pikachu 0 745184472/pikachu https://github.com/zhuifengshaonianhanlu/pik… 0 bihuoedu/pikachu 0 startian/pikachu 0 garydmcdowell/pikachu 0 fighthawk/pikachu 0 intemd/pikachu 0
  • 下载 指定的 镜像 并在后台启动
docker run -itd -p 虚拟机的端口:容器端口 --name=自定义镜像名 镜像名 docker run -itd -p 8080:80 --name=pikachu area39/pikachu
  • 查看下载好的镜像
┌──(rootkali)-[/home/kali] └─# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f15f158638e area39/pikachu "/run.sh" 2 months ago Up 2 months 3306/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp pikachu
  • 关闭镜像
docker stop 镜像ID sudo docker stop 镜像ID
  • 开启镜像
docker start 镜像ID sudo docker start 镜像ID
  • 进入容器内部
sudo docker exec -it 9156c /bin/bash

使用phpstudy

  • 不使用 docker 容器 也是可以的
  • 首先需要下载靶场的源码和phpstudy 一般是需要PHP 和 mysql 的 环境 如果不使用phpstudy 使用其他的环境也是可以的比如Xampp WAMP 等
    github pikachu靶场
  • 如果进不去可以去国内的站点去找 这里我选了一个
    gitee pikachu靶场
  • 我这里使用的是 phpstudy 做例子 其他的和这个差不多 可以自行探索
  • 找到 phpstudy 的 文件目录
    img
  • 将靶场的源码解压至 phpstudy 的 www 目录后启动 apache 以及 mysql
  • 打开浏览器访问 http://localhost/pikachu/
  • 我这里的启动端口是 80 所以可以直接访问 如果你的启动端口不是 80 那么就需要加上端口号
  • 这样就可以看到 首页了
    img
  • 可以看到主页的上方有一行小字
  • 提示:欢迎使用,pikachu还没有初始化,点击进行初始化安装!
  • 我们打开 D:\phpstudy_pro\WWW\pikachu\inc\config.inc.php
<?php //全局session_start session_start(); //全局居设置时区 date_default_timezone_set('Asia/Shanghai'); //全局设置默认字符 header('Content-type:text/html;charset=utf-8'); //定义数据库连接参数 define('DBHOST', '127.0.0.1');//将localhost或者127.0.0.1修改为数据库服务器的地址 define('DBUSER', 'root');//将root修改为连接mysql的用户名 define('DBPW', 'root');//将root修改为连接mysql的密码,如果改了还是连接不上,请先手动连接下你的数据库,确保数据库服务没问题在说! define('DBNAME', 'pikachu');//自定义,建议不修改 define('DBPORT', '3306');//将3306修改为mysql的连接端口,默认tcp3306 ?>
  • 按照注释 将你的数据库用户名和密码 填入对应的位置
  • 修改完成之后 重启 apachce 服务器 点击 首页上方的那一行小字
    img
  • 点击安装/初始化 按钮
    img
  • 看到提示就代表完成了 靶场就可以使用了
  • Docker 也是一样的配置步骤 只不过不同的是 dockers 不需要配置 直接点击 安装/初始化 就可以了

__EOF__

本文作者ZapcoMan
本文链接https://www.cnblogs.com/ZapcoMan/p/18470353.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ZapcoMan  阅读(254)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示