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

春秋云镜靶场漏洞复现:CVE-2023-27179 GDidees CMS `imgdownload.php` 任意文件读取

环境:春秋云境“免费空间”授权实验靶场。本文仅记录授权靶场中的验证过程;历史实例已关闭。

1. 基本信息

项目 内容
CVE CVE-2023-27179
产品 GDidees CMS <= 3.9.1
漏洞类型 本地文件泄露 / 路径遍历
关键接口 /_admin/imgdownload.php
关键参数 filename
Flag flag{2c001ade-0fcf-4462-9e06-8694f2c6cdf3}
靶场状态 已攻克并关闭历史实例

题目页面确认 filename 参数是本地文件泄露入口,并显示当前账号“已攻克”:

GDidees CMS 题目详情与状态

2. 漏洞原理

后台图片下载脚本把 filename 参数直接用于文件读取,没有将规范化后的路径限制在图片目录内。攻击者可以用目录遍历或绝对路径语义跳出图片目录,读取 Web 应用源码、配置文件或题目 Flag。

3. 复现过程

3.1 确认文件下载入口

关键路由为:

/_admin/imgdownload.php

参数名为 filename。请求结构:

GET /_admin/imgdownload.php?filename=<path-to-/flag> HTTP/1.1
Host: <target>

在授权实例中将 <path-to-/flag> 替换为相对目录遍历或应用支持的绝对路径形式,观察响应是否返回文件正文。目标实例地址和原始遍历层数没有保存在本地历史记录中,因此这里不伪造完整 URL。

3.2 读取 Flag

验证条件为:

  1. 不需要后台登录即可访问下载脚本。
  2. filename 能跳出原定图片目录。
  3. 响应正文直接返回 /flag 内容。

平台记录 的已完成记录保存的响应结果为:

flag{2c001ade-0fcf-4462-9e06-8694f2c6cdf3}

4. 关键利用链

未认证访问 /_admin/imgdownload.php-> filename 用户可控-> 路径规范化/目录边界校验缺失-> 读取目录外 /flag-> HTTP 响应返回 Flag

5. 验证结果

历史验证记录中的 Flag 为:

flag{2c001ade-0fcf-4462-9e06-8694f2c6cdf3}

平台页面保留了“已攻克”状态和 Flag 验证输入框,见下图:

GDidees CMS Flag 验证页面

本题没有保存实例地址、原始请求或单独的命令输出;Flag 依据是 平台记录 的历史记录,平台状态依据是当前详情页复核。

6. 修复建议

  1. 升级 GDidees CMS 至包含修复的版本。
  2. 下载接口只接受服务端生成的图片 ID,不接受客户端路径。
  3. 对路径统一解码、规范化并验证固定根目录,拒绝 ..、绝对路径和符号链接逃逸。
  4. 对后台目录增加认证与授权,下载接口使用最小文件权限。
  5. 修复后回归测试编码遍历、双重编码、Windows 分隔符和空字节等形式。

7. 证据与参考

  • 平台题目详情页:https://yunjing.ichunqiu.com/cve/detail/1164?type=1&pay=2
  • NVD:CVE-2023-27179
  • 入口、Flag 和关闭状态:来自当前平台详情页及本地 免费空间全部靶场_平台记录.md 的已完成记录。
http://www.jsqmd.com/news/1393202/

相关文章:

  • AI代码审查实战:平衡效率与理解的团队协作框架
  • 2026乌鲁木齐新房装修一站式服务公司大盘点:选择攻略、避坑指南及优质服务商全解析 - 商业大观
  • 打造个性化gti:修改源码实现专属汽车动画教程
  • 计算机组成原理期末高效复习:从核心考点到实战解题全攻略
  • 10分钟上手开源Modbus调试工具:主站从站一体、TCP/UDP/RTU全覆盖实战指南
  • 免费开源分屏联机工具Nucleus Co-op完整指南:一台电脑同屏畅玩800+款游戏
  • 一招终结“消息撤回“烦恼:RevokeMsgPatcher 让微信/QQ/TIM 的每条消息都留得住
  • 广州装修多少钱一平方?轩怡家装全包1200-1800元㎡,透明报价更好控预算 - 生活动态圈
  • 如何快速上手Siimple:从零开始构建清爽UI界面的入门教程
  • VPTQ部署指南:在A100 GPU上高效运行Deepseek R1 671B模型
  • 抖音爬虫 amemv-crawler 实战:一个链接把整个抖音号的视频批量搬进本地
  • 2026年广东校园文化全案设计公司挑选攻略:盛世铭元等优质企业梳理 - 拜了拜了
  • 告别臃肿的Armoury Crate:手把手用GHelper接管华硕笔记本性能控制
  • 2026年当下:青岛自流平灌浆料供货商早强速硬效率高,赶工期也不用慌施工进度。-新亚建筑材料 - 行业甄选汇
  • 我用AI写的报告提交,它热心地添加“AI生成”的水印!
  • MCC高级应用指南:自定义数据集训练与模型评估全流程
  • macOS 录屏软件 QuickRecorder 从入门到实战:轻量免费的开源录屏神器全解析
  • 一台 MacBook 就是一台电子秤?TrackWeight 免费称重应用完整实测手记
  • Win11Debloat:3分钟免费告别系统臃肿的终极开源优化工具
  • 千问 APP 新用户 8 元无门槛券领取口令:新人2497 - 生活动态圈
  • Rune.js完全指南:如何用JavaScript轻松构建SVG图形设计系统
  • 安徽外贸建站企业哪家更懂海外客户?本地服务与网站交付怎么比较 - 麦麦唛
  • 2026年渗漏监测井供应厂家甄选:聚焦垃圾填埋场与地下水监测的可靠伙伴 - 卓企推荐
  • 猫抓插件全解析:一键搞定网页音视频下载与M3U8流媒体捕获
  • 别只看表面收益!DOO算力质押DApp底层逻辑与开发造价全拆解
  • Unsafe 代码评审:把每条安全前提写在调用边界
  • 2026年厨房移门系列品牌如何选 温州市正日家居推荐 - 起跑123
  • 对方撤回了消息,你真的找不回了吗:RevokeMsgPatcher 防撤回与多开全指南
  • MiniMax-M2.7-DFlash实战指南:构建高性能AI Agent与聊天机器人
  • G-Helper华硕笔记本控制教程:3步告别Armoury Crate,性能调校一次讲清