1. 程式人生 > >CMS網站漏洞檢測對獲取管理員密碼漏洞如何修復

CMS網站漏洞檢測對獲取管理員密碼漏洞如何修復

圖片 我們 src apache 地址 proc 攔截 sin 管理員密碼

PbootCMS是網站常用的一款CMS系統,是由國內著名程序開發商翔雲科技研發的一套網站CMS系統,免費開源,擴展性較高,使用的企業很多但是避免不了網站存在漏洞,SINE安全對其代碼進行安全審計的同時發現該pbootcms 存在嚴重的漏洞,包含SQL註入獲取管理員密碼漏洞,以及遠程代碼註入執行漏洞。該pbootcms系統采用的是PHP語言開發,數據庫是MYSQL,並支持pgsql數據庫大並發處理,系統默認支持的服務器環境,PHP5.3版本以上,以及mysql版本5.6,apache,nginx,都可以運行該CMS系統。關於這次檢測出來的CMS漏洞,我們進行詳細的介紹。
技術分享圖片
之前的pbootcms老版本出現的漏洞也比較多,我們這次審計的是pbootcms V1.3.3新版本,新版本較於老版本更新了許多,SQL註入非法參數的過濾,以及上傳漏洞的修復,過濾系統的加強,但還是始終沒有嚴格的杜絕非法參數的傳入。我們來看下這個遠程代碼註入執行漏洞,該漏洞產生的原因是在ParserController.php代碼裏的LABEL方式調用shat函數,我們來看下代碼:
技術分享圖片

我們找到label調用的方式,一步步跟蹤代碼查到是使用了after的方式調用,看到註釋的內容大體的意思是網站的前端模板在進行解析標簽的操作是,會對網站前端的默認數據庫標簽進行解析,然後通過標簽的內容再進行傳遞數值,在傳遞的過程中,用戶輸入的一些數據造成了這次遠程代碼註入執行漏洞。

pbootcms v1.3.3版本的過濾了一些非法註入參數,但是還是可以進行代碼繞過,可以使用寬字節繞過註入,使用字符轉義也可以對過濾系統進行繞過,混跡代碼加強運算符也可以對pbootcms的安全過濾系統進行繞過。我們來測試一下:
技術分享圖片

構造我們的註入代碼:我們在服務器裏搭建了一個測試環境,本地/index.php/index/index?safe={pboot:if(1)$a=$_GET[b];$a();;//)})}}{/pboot:if}&b=phpinfo

我們來執行看下,竟然執行了phpinfo查詢,我們也可以執行一些查詢數據庫的賬號密碼等管理員的操作。
技術分享圖片

pbootcms獲取管理員密碼漏洞分析

關於這個網站漏洞的產生是存在於ParserController.php代碼裏的parserSearchLabel()方式進行的調用代碼,可以插入一些非法的參數,單引號,轉義符,斜杠等等非法參數,我們使用OR註入代碼,進行獲取管理員賬號密碼就可以了。

關於pbootcms漏洞修復,建議網站的運營者盡快升級pbootcms到最新版本,也可以在服務器端進行sql註入***防護,攔截get、post、cookies提交的非法參數。對網站上的漏洞進行修復,或者是對網站安全防護參數進行重新設置,使他符合當時的網站環境。如果不懂如何修復網站漏洞,也可以找專業的網站安全公司來處理,國內也就Sinesafe和綠盟、啟明星辰等安全公司比較專業.針對於pbootcms默認的管理員登錄地址進行修改,默認是admin.php改為anquan123admin.php即可,盡量長一些,字母加數字組合,避免***者進行暴力猜解,利用獲取到的管理員賬號密碼登錄後臺。

CMS網站漏洞檢測對獲取管理員密碼漏洞如何修復