阿里云提示织梦uploadsafe.inc.php上传漏洞的解决方法

时间:2021-11-25
类别:教程 - CMS教程

很多将织梦dedecms安装在阿里云的ecs的站长每次都会看到阿里云盾就会通知有一个上传漏洞,引起的文件是/include/uploadsafe.inc.php文件,

原因是dedecms原生提供一个"本地变量注册"的模拟实现,原则上允许黑客覆盖任意变量,就会导致被攻击,下面告诉大家解决的办法:

我们找到并打开/include/uploadsafe.inc.php文件,在里面找到如下代码:

  1. if(emptyempty(${$_key.'_size'})) 
  2.  
  3.     { 
  4.  
  5.         ${$_key.'_size'} = @filesize($$_key); 
  6.  
  7.     } 

在其下面添加如下代码:

  1. $imtypes = array("image/pjpeg","image/jpeg","image/gif","image/png","image/xpng","image/wbmp","image/bmp"); 
  2.  
  3.     if(in_array(strtolower(trim(${$_key.'_type'})),$imtypes)){ 
  4.  
  5.         $image_dd = @getimagesize($$_key); if($image_dd == false){ 
  6.  
  7.             continue
  8.  
  9.         } 
  10.  
  11.         if (!is_array($image_dd)) { 
  12.  
  13.             exit('Upload filetype not allow !'); 
  14.  
  15.         } 
  16.  
  17.     } 
    收藏