MyuCMS<=v2.2.1反序列化
前言 MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合,插件,模板,轻便快捷容易扩展. 基于TP框架的审计思路,我一般会先翻一遍框架的已知漏洞去套娃,或者利用不安全的函数溯源. (以下漏洞均提交CNVD) 环境 apache2+mysql+php5.6 MyuCMS 2.2.1 debian 漏洞原理 限制:需要一个前台账户,注册即可 利用前台会员账户可以上传图片,再利用
前言
MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合,插件,模板,轻便快捷容易扩展.
基于TP框架的审计思路,我一般会先翻一遍框架的已知漏洞去套娃,或者利用不安全的函数溯源.
(以下漏洞均提交CNVD)
环境
apache2+mysql+php5.6
MyuCMS 2.2.1
debian
漏洞原理
限制:需要一个前台账户,注册即可
利用前台会员账户可以上传图片,再利用前台任意文件下载触发phar反序列化.
漏洞分析
前台文件上传(文件后缀限制)
文件:application/index/controller/Upload.php
利用函数Pic可以上传文件,但是后缀限制jpg,png,gif.如果要执行图片马需要利用文件包含.翻了下没有发现可控的包含点.

前台任意文件下载
文件:application/bbs/controller/Index.php

继续跟进download方法
只要is_file函数成功判断传入的$filename为合理函数就能够执行下方的readfile方法
由于这里没有任何限制,可以下载任意文件.

有趣的是,is_file函数是会触发phar反序列化
Demo测试

漏洞复现
Myucms是基于tp5.0.x开发,刚了一天没有发现可以rce的反序列化利用链,找到一条可以实现任意文件删除,可以删除install.lock进行重装.还有一条SSRF可以参考:ThinkPHP 5.0反序列化利用链学习
EXP
此处有很重的马赛克
上传phar包

任意文件下载处触发反序列化
在网站目录下创建flag.txt作测试文件,如下GIF测试成功删除flag.txt

结语
刚了很就的tp5.0.x反序列化利用链,没有肝到rce(tcl...
希望师傅们喜欢
下载了看一下,是基于thinkPHP 5.0.24的,是存在一条反序列化的写入shell的链,只能在Linux下利用