0712-2888027 189-8648-0214
微信公众号

孝感风信网络科技有限公司微信公众号

当前位置:主页 > 技术支持 > PHPCMS > phpcms/libs/classes/attachment.class.php某处逻辑问题导致getshell修复方案

phpcms/libs/classes/attachment.class.php某处逻辑问题导致getshell修复方案

时间:2016-09-21来源:风信官网 点击: 4322次
phpcms的/phpcms/libs/classes/attachment.class.php中,对输入参数$ext未进行类型限制,导致逻辑漏洞的产生。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】


解决方法:

首先找到这个文件/phpcms/libs/classes/attachment.class.php

修复处有1处。

搜索如下代码(143行):

function download($field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = '')

 

如下图:

phpcms某处逻辑问题导致getshell

将144行后添加如下代码:

if($ext !== 'gif|jpg|jpeg|bmp|png'){
   if(!in_array(strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) exit('附加扩展名必须为gif、jpg、jpeg、bmp、png');
}

//此方法借用【王靖宇博客】指出后更正 2016/9/19 网址:http://blog.sayphp.com/?p=568

修改后如下图:

986e67d02e76f32761b4faca2fd9bef4.png

修改完后保存上传更新,然后在阿里云点击修复即可。
热门关键词: phpcms libs classes attachment
栏目列表
推荐内容
热点内容
展开