近段時間發(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類中有一些訪問權限為public的函數(shù),重點關注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)用即可加載任意文件
五、執(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)站漏洞檢測和滲透測試,來達到事先預防此類攻擊帶來的危害。
詞條
詞條說明
滲透是指滲透人員通過模擬惡意黑客的攻擊方法,從內(nèi)部網(wǎng)絡、外部網(wǎng)絡等位置使用各種方法特定網(wǎng)絡,發(fā)現(xiàn)和挖掘系統(tǒng)中的漏洞或技術缺陷,然后輸出滲透報告并提交給客戶。這樣,客戶就可以清楚地了解網(wǎng)絡系統(tǒng)中的安全風險和問題,并根據(jù)滲透人員提供的滲透報告。滲透服務的一般流程分為六個步驟:1.明確目標2.信息收集3.漏洞探測4.漏洞驗證5.漏洞攻擊:利用漏洞,獲取數(shù)據(jù),后滲透6.輸出信息整理和滲透報告第一步:明確目
網(wǎng)站安全防護是指出于防止網(wǎng)站受到外來電腦入侵者對其網(wǎng)站進行掛馬,篡改網(wǎng)頁等行為而做出一系列的防御工作。啟動一個新網(wǎng)站是一個令人興奮的項目,充滿了許多重要的步驟和決定。但是,作為網(wǎng)站的所有者,您不僅要處理被黑客入侵的后果,還要對其頁面上的內(nèi)容以及人們用來與之交互的機制負責。如果您計劃存儲用戶信息(例如密碼或電話號碼),則必須妥善保護這些數(shù)據(jù),否則根據(jù)某些法律,您可能會因數(shù)據(jù)泄露事件而受到罰款。為保護
上次我講了如何幫助企業(yè)了解自己的網(wǎng)站安全建設現(xiàn)狀,不知道對朋友有沒有啟發(fā)。今天我們來看看如何幫助企業(yè)構(gòu)建網(wǎng)站安全建設藍圖,如何幫助企業(yè)找到關鍵工作的較佳實踐。幫助企業(yè)構(gòu)建網(wǎng)站安全建設藍圖。網(wǎng)站安全建設藍圖是指企業(yè)成熟或自建的體系框架,結(jié)合企業(yè)網(wǎng)站安全建設的實際情況,根據(jù)一定時間周期規(guī)劃的目標和效果描述。企業(yè)的安全體系框架是**。它不是在每個規(guī)劃中重建的,而是在每個規(guī)劃過程中需要依賴的**框架。安全
圣誕節(jié)很快就要到了,對滲透測試的熱情仍然有增無減。我們SINE安全在此為用戶認證登錄安全制定一個全面的檢測方法和要點Json web token (JWT), 是為了在網(wǎng)絡應用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標準((RFC 7519).該token被設計為緊湊且安全的,特別適用于分布式站點的單點登錄(SSO)場景。JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息
公司名: 青島四海通達電子科技有限公司
聯(lián)系人: 陳雷
電 話: 0532-87818300
手 機: 13280888826
微 信: 13280888826
地 址: 山東青島市北區(qū)山東省青島市城陽區(qū)黑龍江路招商Lavie公社23#別墅
郵 編:
網(wǎng) 址: safe.b2b168.com
公司名: 青島四海通達電子科技有限公司
聯(lián)系人: 陳雷
手 機: 13280888826
電 話: 0532-87818300
地 址: 山東青島市北區(qū)山東省青島市城陽區(qū)黑龍江路招商Lavie公社23#別墅
郵 編:
網(wǎng) 址: safe.b2b168.com