欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

代理加盟

2023全新代理計劃,一站式模板建站,銅牌代理低至699元送終身VIP,獨立代理后臺,自營貼牌。

您現(xiàn)在的位置: 麥站網(wǎng) > 織夢大學 > 織夢安全 >

Dedecms_V5.7 getshell 利用后臺文件上傳功能漏洞

來源:本站原創(chuàng) 發(fā)布時間:2019-04-02 22:04:51熱度: ℃我要評論(0

麥站模板建站平臺(10年經(jīng)驗),服務數(shù)萬家企業(yè),固定透明報價。域名注冊、主機/服務器、網(wǎng)站源碼一站式服務。實體公司,專業(yè)團隊,值得選擇!超過1000套模板已登記版權,合規(guī)合法建站,規(guī)避版權風險!【點擊獲取方案】

雖然是復現(xiàn)文章,不過會更詳細地來闡釋這個漏洞,,因為現(xiàn)在后臺getshell花樣層出不窮,因此想要復現(xiàn)一波來學習一波getshell姿勢~

 

因為是最新的dedecms版本,因此我們直接在織夢官網(wǎng)上下載即可~

 

http://www.dedecms.com/products/dedecms/downloads/

 

DedeCMS V5.7 SP2正式版

 

發(fā)布日期: 2017-04-05

 

這里我測試的是utf-8版本,,感覺版本這個無所謂~

 

下載下來然后安裝什么的就不說了,,直接進后臺,找到漏洞功能以及對應的功能函數(shù)

 

Dedecms_V5.7 根據(jù)文件上傳功能來getshell

漏洞在”模塊”下的”廣告管理”處,這里我們點擊“添加一個新廣告”

Dedecms_V5.7 根據(jù)文件上傳功能來getshell

 

 

跟原文復現(xiàn)的有一點不一樣,,不過不影響,,下面我們來抓包看看參數(shù)

 

Dedecms_V5.7 根據(jù)文件上傳功能來getshell

 

 

我們的參數(shù)在normbody里,文件為dede/ad_add.php

 

 $query = "

     INSERT INTO xiuzhanwang_myad(clsid,typeid,tagname,adname,timeset,starttime,endtime,normbody,expbody)

     VALUES('$clsid','$typeid','$tagname','$adname','$timeset','$starttime','$endtime','$normbody','$expbody');

    ";

    $dsql->ExecuteNoneQuery($query);

    ShowMsg("成功增加一個廣告!","ad_main.php");

    exit();

在這里我們看到了我們的代碼已經(jīng)插入到了數(shù)據(jù)庫,,一般的思路應該是找哪些php文件調用了這個廣告代碼,但是點擊我們的廣告代碼就出現(xiàn)了地址。

Dedecms_V5.7 根據(jù)文件上傳功能來getshell

$cacheFile = DEDEDATA.'/cache/myad-'.$aid.'.htm';

if( isset($nocache) || !file_exists($cacheFile) || time() - filemtime($cacheFile) > $cfg_puccache_time )

{

    $row = $dsql->GetOne("SELECT * FROM `xiuzhanwang_myad` WHERE aid='$aid' ");

    $adbody = '';

    if($row['timeset']==0)

    {

        $adbody = $row['normbody'];

    }

    else

    {

        $ntime = time();

        if($ntime > $row['endtime'] || $ntime < $row['starttime']) {

            $adbody = $row['expbody'];

        } else {

            $adbody = $row['normbody'];

        }

    }

    $adbody = str_replace('"', '\"',$adbody);

    $adbody = str_replace("\r", "\\r",$adbody);

    $adbody = str_replace("\n", "\\n",$adbody);

    $adbody = "<!--\r\ndocument.write(\"{$adbody}\");\r\n-->\r\n";

    $fp = fopen($cacheFile, 'w');

    fwrite($fp, $adbody);

    fclose($fp);

}

include $cacheFile;

 

這里首先是三個判斷條件,nocache不為空,cachefile不為空,這些判斷條件我們都可以通過GET或者POST來提交,從而進行偽造~

 

進入判斷條件后往下走,首先是從數(shù)據(jù)庫中select aid,那么這時候我們到數(shù)據(jù)庫中去看看:

 

 

這里當時在填寫廣告信息的時候,設置的timeset為0,因此也就直接令$adbody = $row[‘normbody’];

而這里的normbody也就是我們的evil code,下面我們就應該重點看這個adbody參數(shù)

首先進行三個replace,這里的replace好像對我們的參數(shù)沒有影響,因此直接跳過~

接著將adbody參數(shù)插入到document.write()代碼中,這里如果做過ctf的人都應該有一種感覺,那就是參數(shù)閉合的話,將會造成任意代碼執(zhí)行,這里也就是漏洞的成因所在!

最后打開cachefile,將adbody寫入到文件中~

這里由于這個文件是html靜態(tài)文件,,因此沒有可利用點,,還是找下文件吧,,

WWW\uploads\data\cache\myad-3.html

如果是動態(tài)文件,,因此我們也可以利用前后閉合來實現(xiàn)任意代碼,,扯遠了。。

總結來說其實就是$adbody = “<!–\r\ndocument.write(\”{$adbody}\”);\r\n–>\r\n”; 這段代碼出的問題

下面我們來構造參數(shù)進行poc驗證~

首先是訪問給的廣告鏈接

Dedecms_V5.7 getshell 利用后臺文件上傳功能漏洞

 

這里我還沒輸入?yún)?shù),,下面輸入?yún)?shù)逐步進行循環(huán)~

其實也就是兩個判斷條件和一個代碼的執(zhí)行~

Dedecms_V5.7 getshell 利用后臺文件上傳功能漏洞

這里url不用說,,就是給的廣告鏈接,,其中GET了aid參數(shù),,因此我們只要加上nocache參數(shù),來實現(xiàn)isset($nocache),至于!file_exists($cacheFile)這個剛才文件都找到了,,肯定存在的。。

最后就是就是代碼執(zhí)行,,這里一開始有強迫癥,我一定要閉合參數(shù)。ㄏ旅婢褪情]合問題的一個嘗試)

這里一開始很不解,,這出現(xiàn)的是啥?

<!-- document.write("-->"); -->

這是源碼,,我們插入了–>這段,,但是雙引號沒閉合!也就是頁面語句實際成了下面這樣

<!-- document.write("--> "); -->

因此也就出現(xiàn)了上面的情況,,這里不太理解,,這樣不閉合竟然可以。。

 

但是我有強迫癥。。

 

Dedecms_V5.7 getshell 利用后臺文件上傳功能漏洞

 

最后強行閉合。。雖然對結果沒影響。。

 

上述如有不當之處,敬請指出~

 

    轉載請注明來源網(wǎng)址:http://mengdiqiu.com.cn/dedecms_aq/1617.html

    發(fā)表評論

    評論列表(條)

       
      QQ在線咨詢
      VIP限時特惠