dedecms安全漏洞大全


 

 

后台文件任意上傳漏洞   /dede/media_add.php的解決方案 

搜索$fullfilename = $cfg_basedir.$filename;(大概在69行左右)     換成:

if (preg_match('#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { ShowMsg("你指定的文件名被系統禁止!",'java script:;'); exit(); } 
$fullfilename = $cfg_basedir.$filename;

 

任意文件上傳漏洞解   /include/dialog/select_soft_post.php決辦法(大概在71行左右) 

$fullfilename = $cfg_basedir.$activepath.'/'.$filename;

換成:

if (preg_match('#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { ShowMsg("你指定的文件名被系統禁止!",'java script:;'); exit(); }
$fullfilename = $cfg_basedir.$activepath.'/'.$filename;

 

全局變量覆蓋漏洞,文件/include/common.inc.php  (大概在101行左右)

foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
         foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}

換為:

foreach(Array('_GET','_POST','_COOKIE') as $_request)
    {
         foreach($$_request as $_k => $_v) {
                    if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ){
                            exit('Request var not allow!');
                   }
                    ${$_k} = _RunMagicQuotes($_v);
        }
    }

 

 

SESSION變量覆蓋導致SQL注入,文件/include/common.inc.php  (大概在68行左右)

if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )

換為:

if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )

 

 

 

dedecms支付模塊注入漏洞,/include/payment/alipay.php文件中存在SQL注入漏洞,(大約在136行) /* 取得訂單號 */

$order_sn = trim($_GET['out_trade_no']);

改為:

$order_sn = trim(addslashes($_GET['out_trade_no']));

 

dedecms留言板注入漏洞之    /plus/guestbook/edit.inc.php        (大概在55行左右)

1 $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");

改為:

1 $msg  = addslashes($msg);
2 $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");

 

dede上傳漏洞    /include/uploadsafe.inc.php    (大概在 42行 和 53行 2個地方)

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

42行的地方,改為:

${$_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 !'); }

53行地方的

$image_dd = @getimagesize($$_key);

改為:

$image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM