寶塔漏洞 XSS竊取寶塔面板管理員漏洞 高危
寶塔是近幾年剛崛起的一款伺服器面板,深受各大站長的喜歡,windows2003 windows2008windosws 2012系統,linux centos deepin debian fedora系統都可以使用寶塔的面板來管理伺服器,寶塔可以一鍵部署網站的環境,IIS環境搭建,Nginx環境,PHP環境搭建,apache jsp環境,mysql資料庫,oracle資料庫搭建,以及一鍵設定FTP賬戶密碼,檔案面板線上管理都可以很簡單的利用寶塔搭建起來。
2018年10月11日寶塔Linux更新到6.0版本,很多新功能加入到linux寶塔面板中,面板的功能再多,還是會存在著一些漏洞,這也是無法避免的,在實際的安全檢測當中發現linux 6.0面板存在著漏洞,相當於早些5.0以上版本,存在著寶塔XSS儲存性漏洞。
問題發生在寶塔的控制面板系統安全這裡,預設使用者登入失敗會記錄到寶塔的系統安全裡,我們看看下程式碼:
漏洞的產生就是在這個程式碼裡,通過程式碼可以看出程式碼首先判斷是否是正確的使用者名稱密碼,再來判斷驗證碼,判斷登入失敗的IP是否還有其他登入失敗的日誌記錄,如果這個值大於1就日誌記錄一下,寶塔的系統安全會自動將大於1的使用者名稱以及密碼都進行了日誌記錄,從寶塔的資料庫中去讀取當前寶塔管理員的賬戶密碼,來進行互相對比,如果沒有對比成功,就會返回一個錯誤的值。最關鍵的一個程式碼就是當post登入寶塔面板的時候就會將code寫入到專門寫系統安全日誌的一個函式裡面去,通過對其函式的追逐發現,這個函式就是寫日誌的功能,定義teyp然後再定義args,從code值傳遞過來就寫進了寶塔的系統安全日誌當中去。 在這個code值中可以插入惡意的引數,寫進系統安全的日誌中,XSS儲存漏洞就在這產生了,可以構造xss獲取管理員的賬戶密碼以及cookies值,當伺服器的管理員點選後臺的系統安全,就會使寶塔漏洞觸發。
我們來測試一下這個寶塔漏洞,首先輸入寶塔的地址,預設都是伺服器IP,888埠,然後輸入賬戶密碼,隨意輸入,當輸入錯誤的時候,再次登入就是輸入驗證碼。在驗證碼這裡可以寫XSS***程式碼,alert('網站安全測試')
當管理員登入後臺,點選安全,就會彈出安全測試的提示框。構造精心準備的xss程式碼就可以獲取到當前登入的管理員cookies值,複製這個值直接進後臺操作即可。
目前寶塔linux面板漏洞,官方已經緊急修復,很多使用寶塔面板的伺服器還沒有修復升級打補丁,希望伺服器的管理人員儘快的升級寶塔到最新版本。