歡迎光臨
每天分享高質量文章

【每日安全資訊】phpMyAdmin被曝存在嚴重CSRF漏洞可對資料庫造成破壞

近期,印度安全工程師Ashutosh Barot發現phpMyAdmin存在嚴重CSRF漏洞(跨站請求偽造),可以通過技巧欺騙管理員去點擊構造鏈接,觸發對基於phpMyAdmin的MySQL資料庫的遠程操作,實現對資料庫的破壞攻擊行為。

漏洞影響

該漏洞對phpMyAdmin 4.7.x系列中4.7.7之前的所有版本造成影響,目前,phpMyAdmin官方已發佈漏洞修補宣告,宣告中提到“該漏洞利用方式為,通過欺騙當前登錄用戶點擊某個惡意構造鏈接,之後可能導致對MySQL資料庫的記錄資料等信息的刪除(dropping/truncating tables)”。

漏洞分析

CSRF是OWASP Top 10的嚴重漏洞之一, phpMyAdmin發起刪除資料表等操作的POST請求後,會執行一個Get請求,為防止CSRF攻擊Get會受到安全防護。該案例中,可以通過如瀏覽器書簽等URL鏈接來發起POST請求,攻擊者可以藉此構造特殊惡意鏈接按鈕,欺騙管理員點擊之後,達到運算元據庫目的。雖然有這種可能,但對於遠程攻擊者來說,很難收集到可以構造惡意URL的相關信息。

基於此,我發現可以利用Burp的請求更改功能,把phpMyAdmin的POST請求轉換為GET請求,之後,即使身份token過期或被清除,一樣可以把它從URL中直接執行。利用這種方法,我可以添加一個wordpress的管理員用戶。為了實現目的,攻擊者則需要知道cPanel的會話id和資料庫名稱,其它如wp_users的表名則非常容易進行猜解。

執行資料庫操作的構造URL可以被儲存在瀏覽器歷史記錄中,如果用戶點擊insert和DROP等按鈕來執行查詢操作,該URL就需要包含資料庫名和表名等信息。由於這種構造URL鏈接可在瀏覽器歷史、安全事件管理日誌(SIEM logs)、防火牆日誌、ISP日誌等地儲存,因此,該漏洞還可導致某種程度上的敏感信息泄露。

在用戶通過了phpMyAdmin的管理面板認證登錄後,即使關閉了phpMyAdmin,這種CSRF攻擊照樣可行。但如果想要成功利用該漏洞,實現遠程資料庫操作,需要與用戶有一個點擊鏈接的交互,因此,目前該漏洞的影響程度暫定為中級(Medium)。

POC視頻

視頻中,遠程攻擊者通過欺騙管理員點擊構造的惡意鏈接後,就能讓管理員毫不知情地刪除了整個資料庫。