前言

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...

希望师傅们喜欢

点击收藏 | 1 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖