很多將織夢dedecms安裝在阿里云的ecs的站長每次都會看到阿里云盾就會通知有一個上傳漏洞,引起的文件是/include/uploadsafe.inc.php文件,
原因是dedecms原生提供一個"本地變量注冊"的模擬實現,原則上允許黑客覆蓋任意變量,就會導致被攻擊,下面告訴大家解決的辦法:
我們找到并打開/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; } |
添加完成后保存并替換原來的文件即可,操作完成后就可以去阿里云后臺驗證這個漏洞了。
新聞熱點
疑難解答