如何修復網(wǎng)站漏洞 全局變量覆蓋漏洞的修復方式
  • 更新時間:2024-10-23 06:29:07
  • 建站經(jīng)驗
  • 發(fā)布時間:2年前
  • 446

臨近9月底,seacms官方升級海洋cms系統(tǒng)到9.95版本,我們SINE安全在對其源碼進行網(wǎng)站漏洞檢測的時候發(fā)現(xiàn)問題,可導致全局變量被覆蓋,后臺可以存在越權(quán)漏洞并繞過后臺安全檢測直接登錄管理員賬號。關(guān)于該漏洞的具體詳情,我們來詳細的分析一下:


seacms主要設(shè)計開發(fā)針對于互聯(lián)網(wǎng)的站長,以及中小企業(yè)的一個建站系統(tǒng),移動互聯(lián)網(wǎng)的快速發(fā)展,該系統(tǒng)可自動適應(yīng)電腦端,手機端,平板端,APP端等多個用戶的端口進行適配,代碼開源免費,可二次開發(fā),PHP+Mysql數(shù)據(jù)庫架構(gòu),深受廣大網(wǎng)站運營者的青睞。



我們SINE安全工程師對該代碼進行了詳細的安全審計,在一個變量覆蓋上發(fā)現(xiàn)了漏洞,一開始以為只有這一個地方可以導致網(wǎng)站漏洞的發(fā)生,沒成想這套系統(tǒng)可以導致全局性的變量覆蓋發(fā)生漏洞,影響范圍較大,seacms系統(tǒng)的安全過濾與判斷方面做的還不錯,在其他地方放心可以平行越權(quán),并直接登錄后臺是管理員權(quán)限。默認變量覆蓋這里是做了安全效驗的功能,在配置代碼里common.php的22行里可以看到對get,post,cookies請求方式上進行了變量的安全效驗,對代碼的安全審計發(fā)現(xiàn)在34行里的變量覆蓋值判斷沒有進行KEY值的安全限制,導致此次漏洞的發(fā)生,我們可以利用這個值進行全局的變量覆蓋,不管是seeion還是cfg值都可以覆蓋。


我們來驗證下這個網(wǎng)站漏洞,搭建本地的環(huán)境,下載seacms最新版本,并使用apache+php5.5+mysql數(shù)據(jù)庫環(huán)境,我們前臺注冊一個普通權(quán)限的用戶,使用抓包工具對post的數(shù)據(jù)進行截取,我們來覆蓋cfg_user的值來進行管理員權(quán)限的賦值操作。我們只要賦值cfg_user不為0,就可以一直保持后臺的登陸狀態(tài)。我們直接去訪問后臺的地址,就可以直接登陸進去。截圖如下:



有了網(wǎng)站后臺管理員權(quán)限,一般都會想上傳webshell,那么后臺我們在代碼的安全審計中發(fā)現(xiàn)有一處漏洞,可以插入php語句并拼接導致可以上傳網(wǎng)站木馬文件,在水印圖片文字功能里,接收圖片的注冊值時可以插入phpinfo并執(zhí)行,如下圖。





我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!

本文章出于推來客官網(wǎng),轉(zhuǎn)載請表明原文地址:https://www.tlkjt.com/experience/7665.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部