1. 程式人生 > 其它 >記某網關係統通用漏洞的挖掘

記某網關係統通用漏洞的挖掘

前言

本篇文章分享一下通用漏洞挖掘的過程,想要獲得通用漏洞證書,首先要求是中危及中危以上的通用型漏洞且所屬公司的註冊資本大於5000萬。挖掘一個漏洞其實不難,個人覺得是目標公司資產的蒐集。訪問CNVD平臺發現某網關係統被師傅提交過任意檔案讀取漏洞,然後搜尋目標再來挖掘一下說不定能撿個漏。

未授權訪問檢視管理員賬號密碼

目標是個網關係統,使用弱口令進入系統後,開始測試功能點,在系統使用者處測試抓包:

刪除cookie後發現仍然可以訪問管理員相關資訊包括密碼、手機號碼等:瀏覽器直接訪問,然後檢視密碼即可:

任意檔案下載

後臺存在日誌查詢功能點, 檢視伺服器日誌時有下載功能:

點選下載並抓包:

將引數fileName的值刪除重放後報錯洩漏了物理路徑,其中fopen(../../../log/)猜測是downFile.php檔案中的原始碼:

在引數fileName後拼接:../../../VAG/pag/web/html/serverLog/downFile.php,檢視downFile.php原始碼。定義了$file_dir的值為../../../log/,這裡使用者傳入的值$file_name沒有進行任何過濾,就直接拼接在變數$file_dir後面然後使用fopen函式開啟拼接後的檔案。

這裡使用../可以直接下載任意檔案:

任意檔案讀取

在測試伺服器日誌時,伺服器返回的程式碼中含有引數showFile.php?fileName=:這裡構造資料包/serverLog/showFile.php?fileName= 可以直接檢視目標原始檔:

在測試過程中發現存在未授權訪問,在瀏覽器中可以直接讀取檔案原始碼:

未授權建立儲存型XSS

發現在資源管理功能點存在未授權,可以建立儲存型XSS,插入XSS平臺地址:

當管理員訪問資源管理功能點時:

XSS平臺成功獲取到系統管理員cookie:

任意使用者密碼修改

在後臺管理測試修改密碼功能點,這裡原始密碼隨意輸入,點選儲存並抓包。
發現在/data/checkIsExist.php資料包中會對當前賬戶的原始密碼進行校驗,原始密碼錯誤返回1,密碼正確返回0。

這裡將伺服器返回的資料包修改為0,進入下一個資料包,這裡是對密碼進行修改。

釋放資料包後顯示密碼修改成功:

使用修改之後的密碼去嘗試登入,可以成功登入到管理後臺。

此時想到這個系統存在很多未授權操作,如果修改密碼功能點也存在未授權,那麼就可以直接重置系統任意使用者的密碼。

這裡瀏覽器直接訪問修改密碼的URL,發現使用者名稱為空:

這裡按照之前的流程先走一遍,點選儲存並抓包,發現name引數的值為空,這裡修改為admin:

在修改伺服器返回的資料包為0之後,再將引數name的值修改為admin:釋放資料包後,顯示修改成功:

使用修改之後的密碼去登入,成功登入到管理後臺。

後來測試發現,不需要原始密碼的驗證也是可以的,直接使用修改密碼的資料包來進行修改密碼,即可將密碼重置:

總結

將漏洞提交CNVD平臺後,儲存型XSS被駁回了,但是因為是未授權建立儲存型XSS,再次提交最終稽核通過了。最後覺得挖掘漏洞的話還是要細心,並且資產蒐集非常重要!

轉 https://www.freebuf.com/vuls/331439.html