thinkcmf(cmfx)漏洞修补解决方案【2.2.3以下版本】[官版已出修复,留意2.2.4版本]


刚刚:官方已经发布修复版本,请以官版为准了!


本着炒米粉的共享精神,跟大家分享“模板”漏洞的修补方案了,也希望大家多多支持ThinkCMF了!


帮官方插个硬广:大家支持年度投票 https://www.oschina.net/p/thinkcmf 

为ThinkCMF投下宝贵一票吧!


分享解决方案之前,可以了解了解最近闹得慌的漏洞是何方神圣,先来引荐一下网上的文章(PS:网文提供修改display和fetch函数的方案无效)


打字ing……算了,看你们都着急看修补方案了。那就先说怎么处理吧!

1、首先看看这次被利用的漏洞其实是模板渲染存在的逻辑漏洞,所以根治在这里了。

2、找到文件 网站根目录/simplewind/Core/Library/Think/Template.class.php

3、完善一下被利用的函数,我们在文件中找到函数 function loadTemplate

4、在函数原来的代码执行之前加下对模板文件路径字符串的处理,本人由于偷懒就直接粗暴地直接用替换敏感内容的方式才防止被黑;

见图

微信截图_20191203170000.jpg

微信截图_20191203170133.jpg


新增的处理代码:

$templateFile = strip_tags($templateFile);// 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
$templateFile = preg_replace('/\s+/', '', $templateFile);//去除所有空格以便下一步处理。
$templateFile = str_ireplace(array('(',')','\'','\"',',','http://',), array(''), $templateFile);//以防万一,http、与文件路径无关的字符串都过滤掉。已经将函数括号已经被去掉破坏了。


这一波简单的操作基本上就对“模板”漏洞的攻击就算是守住了!



好了,说好的“模板”漏洞的前生后世,传送门链接


症状:

image.png


评论

请登录后查看回复,立即登录
发表话题

七牛专享优惠码

507670e8

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


2019年度最受欢迎软件评选,欢迎给ThinkCMF投最宝贵的一票立即投票!