69久久精品无码一区二区|99在线精品免费视频九九视|亚洲中文字幕91视频|亚洲精品成人片在线观看

ThinkCMF網(wǎng)站漏洞修復 對于執(zhí)行生成木馬漏洞

時間:2020-03-26瀏覽數(shù):1561

近段時間發(fā)現(xiàn)很多APP程序用的是thinkcmf,此程序源碼存在getshell漏洞,我們Sine安全緊急對此高危漏洞進行了分析和漏洞修復,攻擊者可以通過構(gòu)造特定的請求包get請求即可在遠程服務器上執(zhí)行任意腳本代碼。

根據(jù)index.php中的配置,項目路徑為application,打開 Portal 下的 Controller 目錄,選擇一個控制類文件。

發(fā)現(xiàn)他的父類為Common\Controller\HomebaseController。

在HomeBaseController中加入如下測試代碼

ThinkPHP是一套基于MVC的應用程序框架,被分成三個核心部件:模型(M)、視圖(V)、控制器(C)。

由于添加的代碼在控制器中,根據(jù)ThinkPHP框架約定可以通過a參數(shù)來*對應的函數(shù)名,但是該函數(shù)的修飾符必須為Public, 而添加的代碼正好符合該條件。

可以通過如下URL進行訪問,并且可以添加GET參數(shù)arg1傳遞給函數(shù)。

cmfx-master/?a=test_public&arg1=run%20success

HomeBaseController類中有一些訪問權(quán)限為public的函數(shù),重點關(guān)注display函數(shù).看描述就是可以自定義加載模版,通過$this->parseTemplate 函數(shù)根據(jù)約定確定模版路徑,如果不符合原先的約定將會從當前目錄開始匹配。

然后調(diào)用THinkphp Controller 函數(shù)的display方法

/**

* 加載模板和頁面輸出 可以返回輸出內(nèi)容

@access public

@param string $templateFile 模板文件名

@param string $charset 模板輸出字符集

@param string $contentType 輸出類型

@param string $content 模板輸出內(nèi)容

@return mixed

*/

public function display($templateFile = '', $charset = '', $contentType = '', $content = '', $prefix = '') {

parent::display($this->parseTemplate($templateFile), $charset, $contentType,$content,$prefix);

}

再往下就是調(diào)用Think View的fetch方法,這里的TMPL_ENGINE_TYPE 為Think, 較終模版內(nèi)容解析在ParseTemplateBehavior中完成

如下調(diào)用即可加載任意文件

http://127.0.0.1:81/cmfx-master/?a=display&templateFile=README.md

五、執(zhí)行漏洞

網(wǎng)站漏洞修復建議

通過此次審計代碼發(fā)現(xiàn)問題的重點是對display 和 fetch 函數(shù)的修飾符模板函數(shù)進行修改,如果對程序代碼不熟悉的話建議聯(lián)系專業(yè)的網(wǎng)站安全公司來修復漏洞,國內(nèi)做的比較專業(yè)的如Sinesafe,綠盟,啟明星辰,等等,對此很多app調(diào)用此程序的api接口源碼,建議大家遇到此問題首先要進行全面的網(wǎng)站漏洞檢測和滲透測試,來達到事先預防此類攻擊帶來的危害。


http://mmsped.com

產(chǎn)品推薦

南陵县| 芦溪县| 奈曼旗| 阿巴嘎旗| 荆州市| 玛纳斯县| 东乡族自治县| 淅川县| 淮滨县| 临猗县| 曲周县| 武安市| 长武县| 静乐县| 金阳县| 博客| 自贡市| 马鞍山市| 兴山县| 贡嘎县| 奉节县| 连云港市| 康乐县| 姜堰市| 麻城市| 罗江县| 迁西县| 义乌市| 乌海市| 兴化市| 双城市| 麦盖提县| 新郑市| 武清区| 左贡县| 旺苍县| 柳林县| 开封县| 南投县| 五莲县| 东丰县|