ikunya520/emlog-upload-rce-poc

GitHub: ikunya520/emlog-upload-rce-poc

针对 EMLOG CMS 插件上传功能的任意文件上传导致远程代码执行漏洞的 PoC 与复现文档。

Stars: 0 | Forks: 0

# 📌 漏洞复现(通过上传恶意插件实现 RCE) ## 🧾 概述 本文档描述了在插件上传功能中复现远程代码执行(RCE)漏洞的步骤。该漏洞源于 `emUnZip()` 函数对 ZIP 压缩包的不当验证,从而允许上传并执行任意的 PHP 文件。 ## 🧩 第一步:准备恶意插件压缩包 创建以下目录结构: ``` eval.zip └── eval/ └── eval.php ``` ## 🧪 第二步:创建恶意 PHP 文件 文件:`eval/eval.php` ``` ``` 该文件充当一个简单的 webshell,用于执行系统命令。 ## 📤 第三步:上传插件 1. 登录应用程序后台。 2. 导航至插件上传/安装功能。 3. 上传构造好的 `eval.zip` 文件。 ## 📂 第四步:文件解压位置 上传成功后,压缩包将被解压至: ``` /content/plugins/eval/eval.php ``` ## 💥 第五步:触发远程代码执行 通过浏览器访问上传的文件: ``` http:///content/plugins/eval/eval.php?cmd=id ``` ## ✅ 预期结果 命令在服务器上被执行,并且其输出会显示在响应中。 示例: ``` uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` ## 🔍 根本原因 * 应用程序仅通过检查特定 PHP 文件是否存在来验证插件结构。 * 其未对文件内容进行验证,也未限制可执行文件的类型。 ## ⚠️ 安全影响 * 任意 PHP 文件上传 * 远程命令执行 * Web 应用程序被完全攻陷 ## 🔧 修复建议 * 将压缩包解压至非 Web 可访问的目录 * 对压缩包内容实施严格的验证 * 使用基于白名单的插件结构验证
标签:CISA项目, CMS漏洞, CVE, EMLOG, OPA, PHP漏洞, PoC, RCE, Webshell, Web安全, 任意文件上传, 协议分析, 恶意插件, 提示词注入, 插件上传漏洞, 数字签名, 文件上传绕过, 文档安全, 暴力破解, 权限提升, 漏洞分析, 漏洞复现, 编程工具, 网络安全, 蓝队分析, 路径探测, 远程代码执行, 隐私保护, 靶场