寶塔7.4.2-pma未授權訪問漏洞風險


起因

寶塔官方表示,7.4.2(Linux)版本的寶塔面板存在未授權訪問phpmyAdmin的漏洞,漏洞利用難度為“0”,通過訪問ip:888/pma則可無需任何登錄操作直接進入phpmyAdmin,所有使用寶塔的站點均可測試是否存在此漏洞(未修改默認端口,安裝了phpmyAdmin的均存在可能);

  • 影響范圍
    • 寶塔 linux 7.4.2(安裝了 phpmyadmin)
    • 寶塔 Linux 7.5.13(安裝了 phpmyadmin)
    • 寶塔 windows 6.8(安裝了 phpmyadmin)

應急

1、關閉888端口對外訪問和phpmyAdmin服務
2、升級至官方緊急發布的7.4.3版本關於Linux面板7.4.2及Windows面板6.8緊急安全更新(官方)
3、將pma移到其他目錄/或刪除

官方

在Linux面板7.4.2/Windows面板6.8.0 版本中加入了phpmyadmin安全訪問模塊,原理是通過面板進行訪問phpmyadmin,而不是nginx/apache,但因在目錄存放時存在一個致命邏輯漏洞,導致nginx/apache也可以訪問到專門給面板使用的phpmyadmin目錄,我們在做安全審計時將重心放在面板程序中,忽略了除面板外被訪問的可能,從而導致了此事件的發生。

分析

(參考ph17h0n:寶塔面板phpMyAdmin未授權訪問漏洞是個低級錯誤嗎?
下載安裝被影響到的寶塔linux版本:LinuxPanel-7.4.2.zip

7.4.2和7.4.3版本代碼對比

在更新版本中判斷/www/server/phpmyadmin/pma是否存在並刪除該目錄,這個目錄就是官方說的通過面板直接訪問phpmyadmin所使用的,刪除該目錄后則就無法使用該模塊;ph17h0n分析:

傳入了username和password的情況下,寶塔會改寫phpmyadmin的配置文件config.inc.php,將認證方式改成config,並寫死賬號密碼。

ph17h0n大佬科普了一直知識點:phpmyadmin除了cookie認證登錄以外還支持多種認證方式,而這里bt官方則是改用了config認證方式,phpmyadmin會使用配置文件中的username/password進行登錄;之所以可以通過面板直接訪問phpmyAdmin的原因也是這個,寫死了用戶名和密碼(所謂的自動填充並登錄),面板就可以不用手動輸入密碼訪問phpmyadmin,而bt官方只考慮到了用戶面板訪問pma,但是忘記了任何情況下都可以通過pma訪問,因為它直接識別config中的密碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM