織夢CMS上傳漏洞修復

2021-09-27 05:41:15 字數 3951 閱讀 5568

近段時間老是發現**title被注入其他資訊,應該是被植入***還是什麼的,非常困鬧,在**找了一些織夢漏洞的修補方法。

任意檔案上傳漏洞修復

一、/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 && pregmatch('#^(cfg|globals|_get|_post|_cookie)#',$svar) )

修改為if( strlen($svar)>0 && pregmatch('#^(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不好,因為用的人多了,找漏洞的人也多了,那麼如果我們能修復的話,這些都不是問題,今天我就為大家講解一下如何修復任意檔案上傳漏洞與注入漏洞。任意檔案上傳漏洞修復包含乙個檔案 include dialog select soft post.php sql注入漏洞包含5個檔案 i...

織夢5 7注入加上傳漏洞

會員中心查詢會員資訊語句過濾不嚴,導致url可提交注入引數 會員中心有上傳動作過濾不嚴,導致上傳漏洞 詳細說明 注入漏洞。這站 首先訪問 data admin ver.txt 頁面獲取系統最後公升級時間,然後訪問 member ajax membergroup.php?action post mem...

織夢5 7注入加上傳漏洞

織夢5.7注入加上傳漏洞 分類 安全 2012 05 5 擼過12,571次 2人扯談 會員中心查詢會員資訊語句過濾不嚴,導致url可提交注入引數 會員中心有上傳動作過濾不嚴,導致上傳漏洞 詳細說明 注入漏洞。這站 首先訪問 data admin ver.txt 頁面獲取系統最後公升級時間,然後訪問...