漏洞描述:


Dedecms由于过滤逻辑不严谨,存在文件上传漏洞。这一问题可能会导致未经授权的文件被上传至服务器,从而对网站安全造成威胁。


 


图片[1]-dedecmsuploadsafe.inc.php上传漏洞解决方法

 


下面是修复该漏洞的具体办法:


首先,找到并打开 /include/uploadsafe.inc.php 文件,在其中定位到以下代码:



if(empty(${$_key.' _size'}))
{
    ${$_key.'_size'} = @filesize($$_key);
}

在其下方添加如下代码:



$imtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp");
if(in_array(strtolower(trim(${$_key.'_type'})), $imtypes)){
    $image_dd = @getimagesize($$_key); 
    if($image_dd == false){
        continue;
    }
    if (!is_array($image_dd)) {
        exit('Upload filetype not allow !');
    }
}

继续向下查找以下代码:



$image_dd = @getimagesize($$_key);

在该代码下方添加:



if($image_dd == false){ continue; }

完成上述修改后,保存文件并替换原来的文件即可。这样操作后,阿里云后台将不再提示与此相关的漏洞警告。


通过以上步骤,可以有效防止非法文件的上传,增强Dedecms系统的安全性。确保每次更新或修改代码时都进行充分测试,以避免引入新的问题。


如果您还有其他关于Dedecms安全加固的问题,欢迎继续探讨!