PHPMyWind存儲型xss漏洞說明及復現
PHPMyWind存儲型xss漏洞說明及復現
本實驗僅做安全漏洞研究,請勿對未授權網站進行惡意破壞
本次內容參考
https://www.ichunqiu.com/vm/60913/1
https://www.exploit-db.com/exploits/42535/
http://www.freebuf.com/sectool/159689.html
影響版本:<=5.4
漏洞成因:該漏洞出現於客戶留言處,參數為content,存在文件為message.php,存在位置為29行與34行,後台腳本將用戶輸入的參數content中的<與>號使用htmlspecialchars函數進行字元實體轉換,才能正確的顯示預留字元。在進行轉義後賦值變數$content,後將變數直接存儲到資料庫中。此過程為留言的存儲過程。
在留言提交後,當管理員通過後台登入系統後,點擊留言的修改按鈕後進入留言的修改頁面,此頁面存在文件為message_update.php,在此文件中,並未對contact、content等用戶輸入的參數進行過濾直接輸出,此時便會觸發插入的js代碼,形成xss存儲型漏洞。此過程為js代碼的觸發過程。
漏洞復現:
本地搭建環境對漏洞進行復現,使用5.4版本的PHPMyWind,詳細步驟如下:
瀏覽器打開http://192.168.70.1/PHPMyWind_5.4/message.php頁面,此頁面為主頁面,點擊客戶留言,在留言內容處插入<img src=x onerror = alert(666);>,在所有內容填寫完成後,點擊提交按鈕。
提交成功後,打開http://192.168.70.1/PHPMyWind_5.4/admin/login.php頁面,此頁面為網站默認後台頁面,登錄後台,默認用戶以及口令都為admin,在留言後方點擊修改按鈕後觸發插入的js腳本。代碼成功執行,彈窗成功,說明此處存在xss漏洞。
在驗證留言處存在存儲型xss漏洞後,可利用xss漏洞獲取管理員登錄後台時的cookie,獲取cookie後就可登錄後台。獲取cookie可利用xss平台獲取也可通過nc監聽指定開放埠進行獲取。以xss平台為例,在留言處插入xss平台內提供的js代碼,當管理員點擊修改後,便可獲取cookie等可利用的信息。
獲取到cookie後,可通過瀏覽器修改cookie登入後台。火狐瀏覽器可通過firebug修改cookie值。
登入後台後,可修改上傳附件類型,可添加php文件上傳類型,添加成功後,便可上傳php一句話,上傳成功後通過菜刀便可成功連接。先添加php類型文件上傳許可權,注意添加時要留有空格|php |,因為上傳時伺服器會添加後綴,添加空格後可截斷後綴:
通過burpsuite抓包修改文件類型,將文件上傳類型修改為.php,注意添加空格,修改後便可成功上傳。
上傳成功後會提示上傳後的路徑為:
192.168.70.1/PHPMyWind_5.4/uploads/soft/20180227/1519725158.php
在菜刀中輸入此路徑並輸入密碼,便可連接伺服器:
修復方案:
(1)將管理後台收入內網,隔離外部訪問
(2)修改源代碼,在程序讀取數據時,對參數添加轉義
(3)等待官方發布更新修復
(4)使用其他代替CMS
推薦閱讀:
※幾維安全提醒勒索病毒又來襲 網路安全行業或迎機遇
※網站入侵只是以愛國之名實施的網路暴力
※一個黑客會經歷怎樣的人生?
※復盤2017,中國網路安全的難題與破題
※「安全開發教學」github泄露掃描系統開發
TAG:網路安全 |