当前位置:首页 >  站长 >  建站经验 >  正文

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

 2019-11-20 10:40  来源: A5用户投稿   我来投稿   websafe的个人主页 撤稿纠错

  短视频,自媒体,达人种草一站服务

近段时间发现很多APP程序用的是thinkcmf,此程序源码存在getshell漏洞,我们Sine安全紧急对此高危漏洞进行了分析和漏洞修复,攻击者可以通过构造特定的请求包get请求即可在远程服务器上执行任意脚本代码。

根据index.php中的配置,项目路径为application,打开 Portal 下的 Controller 目录,选择一个控制类文件。

发现他的父类为Common\Controller\HomebaseController。

在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中完成

如下调用即可加载任意文件

http://127.0.0.1:81/cmfx-master/?a=display&templateFile=README.md

五、执行漏洞

网站漏洞修复建议

通过此次审计代码发现问题的重点是对display 和 fetch 函数的修饰符模板函数进行修改,如果对程序代码不熟悉的话建议联系专业的网站安全公司来修复漏洞,国内做的比较专业的如Sinesafe,绿盟,启明星辰,等等,对此很多app调用此程序的api接口源码,建议大家遇到此问题首先要进行全面的网站漏洞检测和渗透测试,来达到事先预防此类攻击带来的危害。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

作者: websafe    /    文章:148篇

相关文章

  • 渗透测试服务 网站漏洞查找方法

    漏洞扫描:对已找到的目标系统漏洞开展运用,根据漏洞扫描获得目标操作系统管理权限。因为应对不一样的系统漏洞其本身特性,漏洞扫描方法也不尽同,漏洞扫描考察一人对系统漏洞掌握的深层情况,与系统漏洞找到有非常大的不一样。

  • 网站php代码漏洞挖掘修复办法

    国内学习漏洞挖掘的习惯所谓奠定基础,学习各种编程书籍,然后学习漏洞挖掘,问题是不可能控制学习编程的程度。其次,外国学生通常必须学习这一过程,初学

  • 网站渗透测试 该如何入门

    学习是一个不断反馈的过程,你在第2步的学习过程中,作为初学者肯定不会这么顺利,看看开源代码也会遇到不懂得地方,自己写的代码的时候肯定也会调试不通,这时候就接着去找资料,看书,调试,搞懂。

  • 网站安全渗透测试行业如何踏入

    实际上这个问题有很多人跟我说,非科班可不可以?没触碰过程序编写,去培训班培训几个月可不可以?30岁了想从传统产业改行回来从业网络信息安全可不可以?实际上从我前边的叙述大伙儿也可以看出去,安全行业实际上对出身并不是很注重,但这也并不代表轻易就能改行回来。

  • 渗透测试网站漏洞代码语言分析

    近期许多网民跟我说为何出現系统漏洞的网站程序全是PHP开发设计的,而非常少有JAVA和Python的渗透案例,先不用说python,就PHP和Java谈一谈。在这以前,先何不记牢那么一个依据(眼底下也无需担心它对吗):PHP网站系统漏洞类型多但不繁杂,Java网站系统漏洞则反过来。

热门排行

信息推荐

扫一扫关注最新创业资讯