久久久久国产精品www,综合久久无码,亚洲精品99久久久久中文字幕,无码伊人网Apdm

ThinkCMF的最新網(wǎng)站的脆弱性對(duì)執(zhí)行修復(fù)建議以產(chǎn)生木馬洞
瀏覽:372 時(shí)間:2022-4-12

最近發(fā)現(xiàn)很多App程序使用thinkcmf,這個(gè)程序的源代碼存在getshell漏洞。我們的Sine安全緊急事件分析并修復(fù)了這個(gè)高風(fēng)險(xiǎn)漏洞,攻擊者可以通過構(gòu)建特定的請(qǐng)求包get request在遠(yuǎn)程服務(wù)器上執(zhí)行任意腳本代碼。

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

發(fā)現(xiàn)他的父類是common \\ controller \\ homebase控制器。

向HomeBaseController添加以下測(cè)試代碼

ThinkpHp是一個(gè)基于MVC的應(yīng)用框架,分為三個(gè)核心組件:模型(M)、視圖(V)和控制器(C)。

由于添加的代碼在控制器中,按照ThinkpHp框架約定,可以通過參數(shù)A指定對(duì)應(yīng)的函數(shù)名,但函數(shù)的修飾符必須是公共的,添加的代碼正好滿足這個(gè)條件。

您可以通過以下網(wǎng)址訪問它,并且可以添加GET參數(shù)arg1并將其傳遞給函數(shù)。

cmfx-master/?a=test _ publicarg1=運(yùn)行成功

HomeBaseController類中有一些具有公共訪問權(quán)限的函數(shù),重點(diǎn)是顯示函數(shù)。根據(jù)描述,模板可以通過定義加載,模板路徑可以根據(jù)契約由$this-parseTemplate函數(shù)確定。如果不滿足原始合同,匹配將從當(dāng)前目錄開始。

然后調(diào)用THinkphpController函數(shù)的顯示方法

/**

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

*@accesspublic

*@paramstring$templateFile模板文件名

* @ paramstring $字符集模板輸出字符集

*@paramstring$contentType輸出類型

* @ paramstring $內(nèi)容模板輸出

*@returnmixed

*/

public functiondisplay($ templateFile=\' \',$charset=\' \',$contentType=\' \',$content=\' \',$ prefix=\' \'){ 0

parent : display($ this-parseTemplate($ template file),$charset,$contentType,$content,$ prefix);

}

下一步是調(diào)用ThinkView的fetch方法,其中TMpL_ENGINE_TYpE為Think,最終的模板內(nèi)容分析在parseTemplateBehavior中完成

您可以通過如下調(diào)用來加載任何文件

http://127 . 0 . 0 . 1:81/cmfx-master/?a=displaytemplateFile=README . MD

動(dòng)詞(verb的縮寫)執(zhí)行漏洞

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

通過這段審計(jì)代碼發(fā)現(xiàn)問題的關(guān)鍵點(diǎn)是修改顯示和提取功能的修改器模板功能。如果對(duì)程序代碼不熟悉,建議聯(lián)系專業(yè)的網(wǎng)站安全公司進(jìn)行漏洞修復(fù),如SINESAFE、綠盟, 啟明星辰,等。許多應(yīng)用程序調(diào)用這個(gè)程序的api接口源代碼。建議您首先進(jìn)行全面的網(wǎng)站漏洞檢測(cè)和滲透測(cè)試,提前防范此類攻擊帶來的危害。