ClassCMS 后台getshell 复现
文章转载至Starsnow安全团队公众号
ClassCMS 简介
ClassCMS是一款简洁灵活的开源内容管理系统,可以非常方便的通过它来快速开发各种网站应用。
兼容PHP5.2--PHP8.0,在APACHE、NGINX、IIS上都能使用,默认支持MySQL SQLite两种数据库,支持上百万数据量。
系统没有多余的功能,整体安装包不到1M(去掉编辑器与Layui后不到300KB),拥有完善与灵活的应用插件机制,常用功能均可制作成应用插件.
系统模板语言简单,只需要懂HTML+CSS即可制作简单的网站模板.
后台页面基于Layui制作,自适应页面,在手机端也有不错的使用体验.
通过后台模型,可以快速增加栏目,支持无限级栏目,栏目网址支持中文.
拥有各类输入框类型,能快速扩展文章字段,栏目变量,用户属性,通过应用插件也可方便的扩展制作各类输入框.
后台有完善的权限体系,可自定义每个角色的权限,,可自定义栏目与输入框与的查看修改权限.
ClassCMS 后台Getshell?黑盒测试复现
ClassCMS下载最新版本 v1.3
程序下载解压过后如下图
搭建环境并启动
配置好配置
打开应用管理--应用商店
随便点击某个应用进行下载
点击下载时进行抓包
获取一下返回包
这个时候会返回一个插件下载地址
继续Forward
向 /admin/?do=shop:downloadClass&ajax=1?POST?了一个插件地址和插件名称
新建一个小马并压缩
上传到服务器,并能够下载的地方,也可以在网站处寻找文件上传的地方
修改网址为压缩包的地址
然后访问
已经成功上传了小马
ClassCMS?后台Getshell?白盒测试复现
直接查看/class/shop/shop.php 的第82行
直接调用了this:download函数
然后再到92行
调用了/cms/class.php 下面的unzip方法
直接就会将下载的文件进行解压,从而构成后台getshell