编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ThinkCMF框架上的漏洞导致被黑(structs框架漏洞)

wxchong 2024-09-06 01:10:17 开源技术 24 ℃ 0 评论

ThinkCMF是一款支持Swoole的开源内容管理框架(CMF),基于ThinkPHP开发,使用范围非常广泛!小编使用的是ThinkCMF X2.2.2版本。

最近小编发现服务器被黑,发现一个漏洞,该漏洞可以被远程攻击者利用,通过构造特定的请求包即可在远程服务器上执行任意代码。

经分析访问日志发现很多类似的内容:

"GET /?a=fetch&templateFile=public/index&prefix=''&content=%3Cphp%3Efile_put_contents('test1.php',base64_decode('PD9waHAgcGhwaW5mbygpOyA/Pg=='))%3C/php%3E HTTP/1.1" 200 -

经过分析,发现在Common\Controller\HomebaseController.class和AdminbaseController.class中,类中有一些访问权限为public的函数,ThinkPHP框架可以通过a参数来指定对应的函数名,但是该函数的修饰符必须为Public, 而添加的代码正好符合该条件

HomeBaseController和AdminbaseController只需要将类中 display 和 fetch 函数的修饰符改为 protected,即可避免漏洞被利用导致被黑。

请抓紧检查一下你使用的版本是否存在此漏洞吧!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表