RajChowdhury240/CVE-2025-67435-PoC

GitHub: RajChowdhury240/CVE-2025-67435-PoC

该项目记录并复现了 PluckCMS 4.7.20 模块上传功能中由 Zip Slip 路径遍历导致的远程代码执行漏洞,提供完整的利用步骤和概念验证。

Stars: 0 | Forks: 0

## CVE-2025-67435 #### 研究员 : Chowdhury Faizal Ahammed #### PluckCMS Zip Slip 远程代码执行漏洞报告 ### 执行摘要 本报告记录了在 PluckCMS 中发现的一个严重安全漏洞,该漏洞允许经过身份验证的攻击者通过 Zip Slip 攻击向量实现远程代码执行。该漏洞存在于模块上传功能中,可以通过上传包含恶意 PHP 代码的特制 ZIP 归档文件来利用。 #### 产品链接: - GitHub 仓库: https://github.com/pluck-cms/pluck.git #### 受影响版本 `4.7.20` ### 漏洞详情 **漏洞类型:** 导致远程代码执行 (RCE) 的 Zip Slip **受影响组件:** 模块管理系统 (Options → Manage Modules) **攻击向量:** 恶意 ZIP 文件上传 **需要身份验证:** 是 (管理面板访问权限) **严重程度:** 严重 ### 技术描述 该漏洞源于模块上传过程中对 ZIP 归档内容的不充分验证和清理。PluckCMS 允许管理员以 ZIP 格式上传模块,但没有正确验证归档中包含的文件路径。这使得攻击者能够制作一个恶意的 ZIP 文件,利用路径遍历漏洞,将任意文件放置在服务器文件系统上。 在解压 ZIP 归档时,应用程序未能验证解压后的文件是否仍保留在预期的目录结构内。攻击者可以利用此漏洞将恶意 PHP 文件写入 Web 可访问的位置,从而在服务器上执行任意代码。 ## 概念验证 ### 环境设置 可以使用以下环境复现该漏洞: ``` git clone https://github.com/pluck-cms/pluck.git cd pluck ddev config --project-type=php --docroot=. ddev start ``` image image **托管 URL** : [http://pluck.ddev.site](http://pluck.ddev.site/) ### 利用步骤 1. **访问管理面板**: 导航到 PluckCMS 安装页面并使用管理员凭据进行身份验证 2. **导航到模块管理**: 转到 Options → Manage Modules 3. **准备恶意 Payload**: 创建一个包含恶意代码的 PHP 文件,并将其打包在具有特制文件路径的 ZIP 归档中 4. **上传归档文件**: 使用模块上传功能提交恶意的 ZIP 文件 5. **触发执行**: 通过 Web 服务器访问上传的 PHP 文件以执行任意命令 image image image image image image image ### 示例 Payload 在测试过程中使用了一个演示命令执行能力的概念验证 Payload。该 Payload 利用 PHP 的系统执行函数来运行操作系统命令。 ``` ``` ## 影响评估 成功利用此漏洞可使具有管理员访问权限的已验证攻击者: - 在主机服务器上执行任意系统命令 - 读取、修改或删除敏感文件和数据库 - 破坏系统的机密性、完整性和可用性 - 渗透到网络上的其他系统 - 建立持久后门以实现持续访问 虽然该漏洞需要管理员身份验证,但它仍然构成严重的安全风险,因为它提供了完全破坏系统的直接途径。 ## 建议 ### 立即采取的措施 1. **限制模块上传权限**: 仅将模块上传功能限制为受信任的管理员 2. **监控上传活动**: 检查日志中是否存在可疑的 ZIP 文件上传 3. **文件完整性检查**: 验证系统是否未上传任何恶意文件 ## 参考 - GitHub 仓库: https://github.com/pluck-cms/pluck.git - OWASP Zip Slip 漏洞: https://owasp.org/www-community/vulnerabilities/Zip_Slip
标签:CISA项目, PluckCMS, RCE, Web安全, Zip Slip, 文件上传漏洞, 蓝队分析, 路径遍历