ThinkCMF最新网站漏洞 对于执行生成木马漏洞的修复建议
近段时刻发明许多APP措施用的是thinkcmf,此措施源码存在getshell裂痕,我们Sine安详紧张对此高危裂痕举办了说明和裂痕修复,进攻者可以通过结构特定的哀求包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%20success HomeBaseController类中有一些会见权限为public的函数,重点存眷display函数.看描写就是可以自界说加载模版,通过$this->parseTemplate 函数按照约定确定模版路径,假如不切合原先的约定将会从当前目次开始匹配。 然后挪用THinkphp Controller 函数的display要领 /** * 加载模板和页面输出 可以返回输出内容 * @access public * @param string $templateFile 模板文件名 * @param string $charset 模板输出字符集 * @param string $contentType 输出范例 * @param string $content 模板输出内容 * @return mixed */ public function display($templateFile = '', $charset = '', $contentType = '', $content = '', $prefix = '') { parent::display($this->parseTemplate($templateFile), $charset, $contentType,$content,$prefix); } 再往下就是挪用Think View的fetch要领,这里的TMPL_ENGINE_TYPE 为Think, 最终模版内容理会在ParseTemplateBehavior中完成 如下挪用即可加载恣意文件 :81/cmfx-master/?a=display&templateFile=README.md 五、执行裂痕 网站裂痕修复提议 通过此次审计代码发明题目的重点是对display 和 fetch 函数的修饰符模板函数举办修改,假如对措施代码不认识的话提议接洽专业的网站安详公司来修复裂痕,海内做的较量专业的如Sinesafe,绿盟,启明星辰,等等,对此许多app挪用此措施的api接口源码,提议各人碰着此题目起主要举办全面的网站裂痕检测和渗出测试,来到达事先提防此类进攻带来的危害。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |