<pre id="cun0d"><ruby id="cun0d"></ruby></pre>

<track id="cun0d"></track>

<acronym id="cun0d"><label id="cun0d"></label></acronym><tr id="cun0d"></tr>

<acronym id="cun0d"></acronym>
  • 建站幫助

    誠信合作, 高質專業!

    織夢DeDeCMS v5.7漏洞分析:Dede漏洞修復方法大全

    2022-07-01 22:53:52 瀏覽 我要評論

    今天一個客戶碰到織夢DeDeCMS漏洞攻擊,出現很多掛馬信息,比如plus/list.php/?scate-6351100.csv、plus/view.php/?/seo/blSpI2=ohvutj.xls、tags.php/?kaof8mx.csv這樣的網址,大面積百度快照受影響,受此影響,CMSYOU在此與大家分享織夢DeDeCMS v5.7漏洞分析:Dede漏洞修復方法大全。

    DedeCMS漏洞修復

    2020年織夢DeDeCMS出現兩個聲音:DeDeCMS、Dedebiz,也就是新版開發公司(穆云智能科技)與原運營方(卓卓網絡科技)之間的版權之爭,估計到現在還沒有理清。之前CMSYOU也還跟大家分享過除個人非營利網站外 均需購買商業使用授權的事情。

    無論創始人、運維方如何糾紛,DeDeCMS的用戶們在碰到漏洞或者攻擊時,最實在的還是關于Dede漏洞修復方法的一些文檔或者技術分析,CMSYOU特收集整理在此,與大家分享。

    Dede漏洞1:任意文件上傳漏洞修復修復方法

    /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;

    Dede漏洞2:管理后臺文件任意上傳getshell漏洞修復方法

    /dede/media_add.php,或/你的后臺名字/media_add.php 69行左右,搜索:

    $fullfilename = $cfg_basedir.$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;

    修復方法跟第一點類似。

    Dede漏洞3:附件上傳格式判斷漏洞修復方法

    文件:/include/uploadsafe.inc.php大概在42、43行左右兩處:

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

    后面增加代碼:

    if($image_dd == false){ continue; }

    Dede漏洞4:SQL注入漏洞修復方法

    文件/include/filter.inc.php,大概在46行,搜索:

    return $svar;

    修改為:

    return addslashes($svar);

    文件/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}')");

    相當于先對$id做整型過濾。

    文件/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'";

    同上,也是先對$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' ");

    先對$msg做過濾。

    文件/plus/search.php,大概在109行,搜索:

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

    修改為:

    $typeid = intval($typeid);

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

    先對$typeid做整型過濾。

    文件/member/soft_add.php,大概在154行,搜索:

    $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";

    修改為:

    if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"; }

    增加一個判斷,避免模版SQL注入。

    我要收藏
    點個贊吧

    相關閱讀

    本月熱門

    精選推薦

    在線客服

    掃一掃,關注我們

    掃一掃,關注我們
    性激烈的欧美三级短视频_伊人AV亚洲性久久综合_97大神超碰在线中文字幕_亚洲中文无码亚洲人看片