當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  網(wǎng)站運(yùn)營(yíng) >  正文

thinkphp 漏洞修復(fù)方案之6.X版本的代碼漏洞案例分析

 2020-01-30 16:38  來(lái)源: A5用戶投稿   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

大年初五,根據(jù)我們SINE安全的網(wǎng)站安全監(jiān)測(cè)平臺(tái)發(fā)現(xiàn),thinkphp官方6.0版本被爆出高危的網(wǎng)站代碼漏洞,該漏洞可導(dǎo)致網(wǎng)站被植入網(wǎng)站木馬后門(mén)文件也叫webshell,具體產(chǎn)生的原因是session ID參數(shù)值這里并未對(duì)其做詳細(xì)的安全過(guò)濾與效驗(yàn),導(dǎo)致可以遠(yuǎn)程修改POST數(shù)據(jù)包將session的值改為惡意的后門(mén)代碼,發(fā)送到服務(wù)器后端并生成PHP文件直接生成,可導(dǎo)致網(wǎng)站被攻擊,服務(wù)器被入侵,關(guān)于該thinkphp漏洞的詳情,我們SINE安全來(lái)跟大家分析一下。

thinkphp是國(guó)內(nèi)用的比較多的一套開(kāi)源系統(tǒng),采用的是php+mysql架構(gòu)開(kāi)發(fā),基于該框架的開(kāi)發(fā)較容易與維護(hù),深受很多站長(zhǎng)以及企業(yè)的青睞,2018-2019年thinkphp的漏洞就層出不窮,像之前的3.23版本,ThinkPHP 5.0緩存漏洞、ThinkPHP 5.0.10、ThinkPHP5.0.12、ThinkPHP5.0.13、ThinkPHP5.0.23、thinkphp 5.0.22版本都存在這漏洞。

目前的新版本6.0存在著session任意文件上傳漏洞,我們SINE安全工程師來(lái)進(jìn)行詳細(xì)的安全分析與代碼的安全檢測(cè),再index控制器里我們發(fā)現(xiàn)可以寫(xiě)入session來(lái)進(jìn)行控制代碼,首先我們看下代碼:如下圖所示

以上代碼是用來(lái)獲取name的參數(shù)值并將值里的內(nèi)容寫(xiě)到session中去,我們來(lái)本地搭建一套TP6.0版本的環(huán)境,來(lái)測(cè)試一下生成的session文件會(huì)到哪里去。http://測(cè)試網(wǎng)址/tp6/public/index.php/index/testsession?name=當(dāng)get 訪問(wèn)該頁(yè)面的時(shí)候就會(huì)在網(wǎng)站根目錄下的runtime文件夾里的session目錄下生成一個(gè)PHP文件,我們可以看得到。那到底是那段代碼導(dǎo)致可以寫(xiě)入文件名的呢?我們仔細(xì)看下TP框架里的store.php代碼,追蹤到253到270行這里,調(diào)用了一個(gè)參數(shù)來(lái)進(jìn)行寫(xiě)入文件的操作,writefile($filename,$data)我們來(lái)追蹤下這個(gè)函數(shù)接下來(lái)使用到是哪里的值,看下圖:

原來(lái)是追蹤到了sessionID值里去了,也就是POST數(shù)據(jù)包里的phpsessid,導(dǎo)致該值可以在遠(yuǎn)程進(jìn)行偽造與篡改,漏洞利用截圖:

經(jīng)過(guò)我們SINE安全的網(wǎng)站安全測(cè)試發(fā)現(xiàn),thinkphp的漏洞利用條件是服務(wù)器開(kāi)啟session功能,默認(rèn)代碼是不開(kāi)啟的,有些第三方開(kāi)發(fā)公司在給客戶網(wǎng)站以及平臺(tái)開(kāi)發(fā)的時(shí)候會(huì)用到session功能來(lái)控制用戶的登錄狀態(tài)以及權(quán)限所屬判斷,可導(dǎo)致網(wǎng)站被攻擊,被篡改,數(shù)據(jù)庫(kù)內(nèi)容被修改等攻擊情況的發(fā)生,在這里我們建議網(wǎng)站的運(yùn)營(yíng)者對(duì)該代碼漏洞進(jìn)行修復(fù),對(duì)session的判斷以及寫(xiě)入做攔截與效驗(yàn),不允許直接.php文件的session值寫(xiě)入,如果您對(duì)代碼不是太懂的話也可以找專(zhuān)業(yè)的網(wǎng)站安全公司來(lái)幫您修復(fù)網(wǎng)站漏洞

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
網(wǎng)站被黑
網(wǎng)站漏洞

相關(guān)文章

熱門(mén)排行

信息推薦