Headline
CVE-2022-47042: 恶意文件写入 · Issue #I6592F · 铭飞/MCMS - Gitee.com
MCMS v5.2.10 and below was discovered to contain an arbitrary file write vulnerability via the component ms/template/writeFileContent.do.
漏洞利用条件
Window环境
Tomcat部署war包运行
影响版本
目前测试发现 5.2.8、5.2.9、5.2.10都存在此漏洞
漏洞分析
漏洞触发点:后台系统管理->模板管理->编辑模板文件
这里我新上传了一个文件,编辑并保存,抓包查看
保存模板文件接口:ms/template/writeFileContent.do
根据接口查找实现代码
在net.mingsoft:ms-basic:2.1.14.1.jar包里> net\mingsoft\ms-basic\2.1.14.1\ms-basic-2.1.14.1.jar!\net\mingsoft\basic\action\TemplateAction.class
首先获取了文件名(fileName)进行判断文件后缀是否属于黑名单中的文件名(193-195)
调试查看系统黑名单
黑名单中的后缀:exe,jsp,xml,sh,bat,py,ftl,jspx
后面就是常规的对文件名进行判空然后将文件路径与文件名拼接写入操作
由于是直接对文件路径进行拼接,可以自行构造上传路径
但是加了一层判断,对于oldFileName和fileName文件名是否一致进行判断
如果不一致就将文件名重命名移动到newName,然后将oldFileName的文件进行删除
对于黑名单的绕过我想针对Windows系统相对容易一些如shell.jsp.
构造poc
fileName=test%5ctest.jsp.&name=testmoban.html&fileNamePrefix=template%5C1%2F%5Cdefault%5C&fileContent=shell text&oldFileName=test%5ctest.jsp.
上传godzilla的webshell
测试连接状态
成功getshell
在Windows系统下使用tomcat部署war包可以绕过系统黑名单且可执行jsp文件
Related news
MCMS v5.2.10 and below was discovered to contain an arbitrary file write vulnerability via the component ms/template/writeFileContent.do.