设计出品
扫描关注网站建设微信号

扫一扫微信二维码

ThinkCMF最新网站漏洞对于执行生成木马漏洞的修复

新乡云优化2021-05-31行业动态
云优化近段时间发现很多APP程序用的是thinkcmf,此程序源码存在getshell漏洞,我们紧急对此高危漏洞进行了分析和漏洞修复,攻击者可以通过构造特定的请求包get请求即可在远程服务器上执行任意脚本代码。根据index.php中的配置,项目路径为application,打开Portal下的Controller目录,选择一个控制类文件。发现他的父类为CommonControllerHomebaseController。在HomeBaseController中加入如下测试代码ThinkPHP是一套基于MVC的应用程序框架,被分成三个核心部件:模型(M)、视图(V)、控制器(C)。由于添加的代码在控制器中,根据ThinkPHP框架约定可以通过a参数来指定对应的函数名,但是该函数的修饰符必须为Public,而添加的代码正好符合该条件。可以通过如下URL进行访问,并且可以添加GET参数arg1传递给函数。cmfx-master/?a=test_public&arg1=run%20successHomeBaseController类中有一些访问权限为public的函数,重点关注display函数.看描述就是可以自定义加载模版,通过$this->parseTemplate函数根据约定确定模版路径,如果不符合原先的约定将会从当前目录开始匹配。然后调用THinkphpController函数的display方法/***加载模板和页面输出可以返回输出内容*@accesspublic*@paramstring$templateFile模板文件名*@paramstring$charset模板输出字符集*@paramstring$contentType输出类型*@paramstring$content模板输出内容*@returnmixed*/publicfunctiondisplay($templateFile='',$charset='',$contentType='',$content='',$prefix=''){parent::display($this->parseTemplate($templateFile),$charset,$contentType,$content,$prefix);}再往下就是调用ThinkView的fetch方法,这里的TMPL_ENGINE_TYPE为Think,最终模版内容解析在ParseTemplateBehavior中完成如下调用即可加载任意文件执行漏洞网站漏洞修复建议通过此次审计代码发现问题的重点是对display和fetch函数的修饰符模板函数进行修改,如果对程序代码不熟悉的话建议联系专业的网站安全公司来修复漏洞,对此很多app调用此程序的api接口源码,建议大家遇到此问题首先要进行全面的网站漏洞检测和渗透测试,来达到事先预防此类攻击带来的危害。
新乡云优化百度排名网络推广团队,提供新乡seo,新乡网站优化,新乡网站建设,新乡百度推广排名服务,20多年新乡网络推广,网站排名,做网站,百度竞价经验,免费提供网络营销方案。
文章关键词