1. 程式人生 > >織夢dedecms漏洞修復大全注入漏洞

織夢dedecms漏洞修復大全注入漏洞

      很多人說dedecms不好,因為用的人多了,找漏洞的人也多了,那麼如果我們能修復的話,這些都不是問題,今天樂清網站建設的趙老師就為大家講解一下如何修復任意檔案上傳漏洞與注入漏洞。任意檔案上傳漏洞修復包含一個檔案/include/dialog/select_soft_post.php;SQL注入漏洞包含5個檔案/include/filter.inc.php   /member/mtypes.php   /member/pm.php   /plus/guestbook/edit.inc.php   /plus/search.php。

好,我們來一個一個修復。修復方法都是下載目錄下該檔案,然後替換或新增部分程式碼,儲存後上傳覆蓋(記得先備份),這樣的好處是防止用懶人包上傳之後因為UTF8和GBK不同產生亂碼,或者修改過這幾個檔案,然後直接修改的部分被替換掉,那之前就白改了,找起來也非常的麻煩。如果你搜索不到,看行數,找相近的,然後將我標記紅色的部分複製到對應位置


任意檔案上傳漏洞修復

      一、/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))) { ShowMsg("你指定的檔名被系統禁止!",'javascript:;'); exit(); } $fullfilename = $cfg_basedir.$activepath.'/'.$filename;;


(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='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");
修改為
$id = intval($id); $row = $dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");

      四、 /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));

至此,dedecms漏洞修復大全含任意檔案上傳漏洞與注入漏洞(5.7起)就修改完畢了,如果還有什麼漏洞,請給老師留言,老師進行修復。

      2016.7.21更新  
      2016.7.27更新  dedecms後臺檔案任意上傳漏洞dede/media_add.php修復
      
2016.8.1更新  dedecms模板SQL注入漏洞member/soft_add.php修復
      
2016.8.9更新  dedecms上傳漏洞include/uploadsafe.inc.php修復
2016.8.30更新  cookies洩漏導致SQL漏洞member/article_add.php修復
2016.9.4更新  cookies洩漏導致SQL漏洞member/inc/inc_archives_functions.php修復

2016.11.7更新  支付模組注入漏洞include/payment/alipay.php修復
2016.11.7更新  變數為初始化導致本地變數注入include/dedesql.class.php修復