織夢dedecms漏洞修復大全 5 7起

2021-10-02 09:45:44 字數 3835 閱讀 5427

很多人說dedecms不好,因為用的人多了,找漏洞的人也多了,那麼如果我們能修復的話,這些都不是問題.

任意檔案上傳漏洞修復

一、/include/dialog/select_soft_post.php檔案,搜尋(大概在72行的樣子)

$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)))  $fullfilename = $cfg_basedir.$activepath.'/'.$filename;;

二、後台檔案任意上傳漏洞

/dede/media_add.php或者/你的後台名字/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)))  $fullfilename = $cfg_basedir.$filename;

三、 /include/uploadsafe.inc.php (有2個地方:)

1、搜尋 $ = @filesize($$_key);

}(大概在42,43行左右)

替換成    

$ = @filesize($$_key); 

} $imtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp"); if(in_array(strtolower(trim($)), $imtypes)) if (!is_array($image_dd)) }

如果修改後出現文章頁面空白頁,請仔細檢視**是否多了或者少了大括號},本檔案44行是空的,沒有**,請注意。

2、搜尋 $image_dd = @getimagesize($$_key);(大概在53行左右)

替換成     

$image_dd = @getimagesize($$_key); if($image_dd == false)

老規矩大紅色地方標記了修改的地方,然後儲存,接著備份原檔案,比如檔名變為uploadsafe.inc.php.16.08.09.bak。然後上傳修改好的檔案即可。

(sql)注入漏洞修復

一、 /include/filter.inc.php檔案,搜尋(大概在46行的樣子)

return $svar;

修改為return addslashes($svar);

二、/member/mtypes.php檔案,搜尋(大概在71行的樣子)

$query = "update `dede_mtypes` set mtypename='$name' where mtypeid='$id' and mid='$cfg_ml->m_id'";

修改為$id = intval($id); $query = "update `dede_mtypes` set mtypename='$name' where mtypeid='$id' and mid='$cfg_ml->m_id'";

三、 /member/pm.php檔案,搜尋(大概在65行的樣子)

$row = $dsql->getone("select * from `dede_member_pms` where id='$id' and (fromid='' or toid='')");

修改為$id = intval($id); $row = $dsql->getone("select * from `dede_member_pms` where id='$id' and (fromid='' or toid='')");

四、 /plus/guestbook/edit.inc.php檔案,搜尋(大概在55行的樣子)

$dsql->executenonequery("update `dede_guestbook` set `msg`='$msg', `posttime`='".time()."' where id='$id' ");

修改為$msg = addslashes($msg); $dsql->executenonequery("update `dede_guestbook` set `msg`='$msg', `posttime`='".time()."' where id='$id' ");;

五、 /plus/search.php檔案,搜尋(大概在109行的樣子)

$keyword = addslashes(cn_substr($keyword,30));

修改為$typeid = intval($typeid); $keyword = addslashes(cn_substr($keyword,30));

六、/member/soft_add.php   搜尋(大概在154行左右)

搜尋$urls .= "'} $softurl1 \r\n";

替換成      

if (preg_match("#}(.*?)'} $softurl1 \r\n"; }

七、cookies洩漏導致sql漏洞修復

1、/member/article_add.php檔案,搜尋(大概在83行的樣子)

if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))

修改為if (empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode))) 

2、/member/inc/inc_archives_functions.php檔案,搜尋(大概在239行的樣子)

echo "";

修改為echo "";

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) )

支付模組注入漏洞

include/payment/alipay.php檔案,搜尋(大概在137行的樣子)

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

修改為$order_sn = trim(addslashes($_get['out_trade_no']));;

變數為初始化導致本地變數注入

/include/dedesql.class.php檔案,搜尋(大概在590行的樣子)

if(isset($globals['arrs1']))

修改為$arrs1 = array(); $arrs2 = array(); if(isset($globals['arrs1']))

如果之前定義過$arrs1或$arrs2的,請調整比對**。

至此,dedecms漏洞修復大全含任意檔案上傳漏洞與注入漏洞(5.7起)就修改完畢了。

織夢dedecms漏洞修復大全 5 7起

很多人說dedecms不好,因為用的人多了,找漏洞的人也多了,那麼如果我們能修復的話,這些都不是問題.一 include dialog select soft post.php檔案,搜尋 大概在72行的樣子 fullfilename cfg basedir.activepath.filename 修...

修改織夢DedeCMS投票漏洞

織夢 dedecms系統我們都知道是有很多漏洞的,我在除錯投票功能的時候正好要用到投票功能,這不就出現了漏洞,下面我就給大家展示如何修復這個織夢投票漏洞 首先我們開啟檔案,查 找 如下 this dsql executenonequery update dede vote set totalcoun...

織夢DEDECMS安全防護設定及漏洞修復

member 會員資料夾整個刪除 special 專題資料夾整個刪除 install 安裝資料夾整個刪除 robots.txt 檔案刪除 刪除 templets default 官方預設模板這個資料夾 在你自己有模板的情況下,如果沒有,請勿刪除 刪除plus資料夾除下列檔案外的所有檔案,保留下面幾個...