Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2022-01052
- Vendor: 嘉華高中夜課輔
- Title: 嘉華高中夜課輔雲端補課系統
- Introduction: 可使透過網頁內容反推使用者身分證字號,且可存取未公開的檔案。
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2022/12/27 21:35:29 : 新提交 (由 zhihao 更新此狀態)
- 2023/01/01 15:46:48 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/01/03 17:25:52 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/01/03 17:25:52 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/01/03 17:25:52 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/03/12 03:00:13 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2022-01052
- 通報者:xd0931021 (zhihao)
- 風險:低
- 類型:邏輯漏洞 (Logic Flaws)
參考資料
漏洞說明: OWASP - Testing for business logic
https://www.owasp.org/index.php/Testing_for_business_logic
漏洞說明: CWE-840: Business Logic Errors
https://cwe.mitre.org/data/definitions/840.html
相關網址
http://163.27.13.221/line/user{num}/index.html
http://163.27.13.221/video/{path}/{file}
敘述
一、使用者身份驗證方法
帳號密碼驗證方式採本地端驗證,利用將使用者輸入的密碼加密後比對密文判斷密碼是否正確。
但是用於比對之密文與加密金鑰皆內嵌於網頁內,同時加密方法也存於index.js的函式(checkPermitHome)內,攻擊者可透過分析程式碼,利用內嵌於網頁中的密文與金鑰反推使用者之密碼(預設為身分證字號且不可由使用者自行更改)。
內嵌於網頁中的密文及金鑰
存於程式碼中的加密方法
二、不必輸入密碼即可登入
由於驗證及轉址皆在本地端進行預算,因此可透過DevTools中覆寫的功能,將判斷式(checkPermitHome函式中if(iipw==ipw), iipw==ipw為檢查密碼是否正確之判斷式)覆寫為true來繞過驗證,直接進入個別使用者之頁面。
將驗證片段式覆寫為true
三、存取頁面無驗證機制
如果直接由網址存取使用者頁頁面(http://163.27.13.221/line/user{num}/index.html),檢查身份的方式(函式checkValidTime)僅有檢查網址中是否包含?checkFromHomeIndex無其他任何檢查程序(如驗證Cookies)。
僅有檢查是否包含字串
四、存取檔案無驗證機制
在使用者頁面中,有提供使用者進行補課之連結,運作方式為透過本地端的函式(checkPermit),解密位於網頁內之密文,取得檔案連結後,開啟新分頁,使用網頁播放器播放影片。
同樣,可使用覆寫功能,截斷開啟分頁的程式碼(window.open("jcsPlay.htm?"+ getRndNum(1000,9999) +"#item="+encodeURIComponent(icstr),wName);),直接印出解密後的網址,取得檔案網址(變數icstr)。
存取檔案網址時,同樣沒有任何驗證機制,並且可透過修改網址內容(http://163.27.13.221/video/{path}/{file}),取得其餘未對使用者開放的內容。
修該為印出網址