MyuCMS<=v2.2.1反序列化
字数 975 2025-08-26 22:11:51
MyuCMS<=v2.2.1反序列化漏洞分析与利用
漏洞概述
MyuCMS是一款基于ThinkPHP 5.0.x开发的开源内容管理系统。在v2.2.1及以下版本中存在反序列化漏洞,攻击者可以利用该漏洞实现任意文件删除或SSRF攻击。
环境要求
- Apache 2 + MySQL + PHP 5.6
- MyuCMS 2.2.1
- Debian系统
漏洞原理
该漏洞需要结合两个功能点利用:
- 前台会员账户可以上传图片(存在文件后缀限制)
- 前台存在任意文件下载功能,可触发phar反序列化
漏洞分析
1. 前台文件上传(存在后缀限制)
文件位置:application/index/controller/Upload.php
- 使用
Pic函数可以上传文件 - 文件后缀限制为:jpg、png、gif
- 虽然可以上传图片马,但没有可控的文件包含点来执行
2. 前台任意文件下载
文件位置:application/bbs/controller/Index.php
download方法使用is_file函数判断传入的$filename- 如果判断为合法文件,则执行
readfile方法 - 该功能没有任何限制,可下载任意文件
is_file函数会触发phar反序列化
漏洞复现
利用链说明
MyuCMS基于ThinkPHP 5.0.x开发,存在以下利用链:
- 任意文件删除(可删除install.lock进行重装)
- SSRF攻击(参考ThinkPHP 5.0反序列化利用链)
注:在Linux环境下还存在一条反序列化写入shell的链
复现步骤
-
上传phar包:
- 利用前台会员账户上传精心构造的phar文件
- 虽然有限制,但可以绕过或利用其他方式上传
-
触发反序列化:
- 通过任意文件下载功能触发phar反序列化
- 示例:删除网站目录下的flag.txt测试文件
防御建议
- 升级到最新版本
- 对文件下载功能进行严格限制和过滤
- 禁用不必要的反序列化操作
- 对上传文件进行更严格的验证
- 限制会员账户权限
总结
该漏洞需要前台会员账户权限,通过组合文件上传和文件下载功能触发phar反序列化,最终可实现任意文件删除或SSRF攻击。虽然未发现直接的RCE利用链,但仍存在严重安全隐患。
注:实际利用时需构造特定的phar文件,文中部分细节因安全考虑被马赛克处理。