臨近9月底,seacms官方升級海洋cms系統(tǒng)到9.95版本,我們SINE安全在對其源碼進行網站漏洞檢測的時候發(fā)現(xiàn)問題,可導致全局變量被覆蓋,后臺可以存在越權漏洞并繞過后臺安全檢測直接登錄管理員賬號。關于該漏洞的具體詳情,我們來詳細的分析一下:
seacms主要設計開發(fā)針對于互聯(lián)網的站長,以及中小企業(yè)的一個建站系統(tǒng),移動互聯(lián)網的快速發(fā)展,該系統(tǒng)可自動適應電腦端,手機端,平板端,APP端等多個用戶的端口進行適配,代碼開源免費,可二次開發(fā),PHP+Mysql數(shù)據庫架構,深受廣大網站運營者的青睞。
我們SINE安全工程師對該代碼進行了詳細的安全審計,在一個變量覆蓋上發(fā)現(xiàn)了漏洞,一開始以為只有這一個地方可以導致網站漏洞的發(fā)生,沒成想這套系統(tǒng)可以導致全局性的變量覆蓋發(fā)生漏洞,影響范圍較大,seacms系統(tǒng)的安全過濾與判斷方面做的還不錯,在其他地方放心可以平行越權,并直接登錄后臺是管理員權限。默認變量覆蓋這里是做了安全效驗的功能,在配置代碼里common.php的22行里可以看到對get,post,cookies請求方式上進行了變量的安全效驗,對代碼的安全審計發(fā)現(xiàn)在34行里的變量覆蓋值判斷沒有進行KEY值的安全限制,導致此次漏洞的發(fā)生,我們可以利用這個值進行全局的變量覆蓋,不管是seeion還是cfg值都可以覆蓋。
我們來驗證下這個網站漏洞,搭建本地的環(huán)境,下載seacms最新版本,并使用apache+php5.5+mysql數(shù)據庫環(huán)境,我們前臺注冊一個普通權限的用戶,使用抓包工具對post的數(shù)據進行截取,我們來覆蓋cfg_user的值來進行管理員權限的賦值操作。我們只要賦值cfg_user不為0,就可以一直保持后臺的登陸狀態(tài)。我們直接去訪問后臺的地址,就可以直接登陸進去。截圖如下:
有了網站后臺管理員權限,一般都會想上傳webshell,那么后臺我們在代碼的安全審計中發(fā)現(xiàn)有一處漏洞,可以插入php語句并拼接導致可以上傳網站木馬文件,在水印圖片文字功能里,接收圖片的注冊值時可以插入phpinfo并執(zhí)行,如下圖。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復、物聯(lián)網開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!