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

【每日安全資訊】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影片

影片中,遠端攻擊者透過欺騙管理員點選構造的惡意連結後,就能讓管理員毫不知情地刪除了整個資料庫。