千家信息网

thinkcmf网站最新漏洞的修复方法

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,thinkcmf网站最新漏洞的修复方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。近段时间发现很多APP程序用的是thinkcmf
千家信息网最后更新 2024年11月30日thinkcmf网站最新漏洞的修复方法

thinkcmf网站最新漏洞的修复方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

近段时间发现很多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接口源码,建议大家遇到此问题首先要进行全面的网站漏洞检测和渗透测试,来达到事先预防此类攻击带来的危害。

关于thinkcmf网站最新漏洞的修复方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

漏洞 函数 代码 方法 网站 模板 程序 问题 输出 内容 可以通过 建议 文件 模版 控制 约定 最新漏洞 安全 专业 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云服务器限制流量吗 互联网公司的服务器 有关软件开发的策划书 制作网络安全教育日短视频 网络安全案件问题怎么看 vue引入服务器上的js文件 数据库退出文件夹命令 我的世界纯净1.8服务器ip 和平精英最强服务器的玩家 南阳第二届网络安全技术大赛 360网络安全公司怎么样 网络安全主题宣传片观后感 阿里云学生服务器认证 德温特数据库中的气候变化专利 软件开发从0开始 计算机网络技术 服务外包 分析外汇用什么软件开发 目前网络安全法的漏洞 标准网络技术推广报价 喀什公安局网络安全支队政委 软件开发配套措施 一般软件开发公司的上游公司是 数据库管理架构 部门设置 我国第一届网络安全宣传周 松江区工商数据库系统研发成本 服务器中的子模块 linux同步时间服务器ip 目前网络安全法的漏洞 网络安全威胁中断 区块链网络技术与应用
0