ischool 澔學學習股份有限公司 打卡系統藍牙 Beacon 使用前端驗證 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2024-01174
  •  發信 Vendor: ischool 澔學學習股份有限公司
  • Title: ischool 澔學學習股份有限公司 打卡系統藍牙 Beacon 使用前端驗證
  • Introduction: 此打卡系統可使用藍牙 Beacon 進行打卡,用戶只要接近該藍牙 Beacon 即可授權打卡,然而此打卡系統使用前端進行驗證,造成攻擊者可在任意時間地點進行打卡的動作,將破壞資料之完整性。

處理狀態

目前狀態

公開
Last Update : 2024/11/25
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2024/09/25 12:54:52 : 新提交 (由 Ping 更新此狀態)
  • 2024/09/25 12:55:40 : 新提交 (由 Ping 更新此狀態)
  • 2024/09/30 22:36:08 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:57:41 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:57:41 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:57:41 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/11/25 03:00:12 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2024-01174
  • 通報者:sun_yi_ping (Ping)
  • 風險:高
  • 類型:資訊洩漏 (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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://asia-east1-campus-lite.cloudfunctions.net/tschool/checkin
https://campus-lite.web.app/modules/tschool/checkin

敘述

漏洞發掘

查看前端原始碼可看到數個 JavaScript 檔,而當中均經過 Hash(圖一),嘗試隨意輸入驗證碼進行打卡後,發現發送會對 /tschool/checkin 發送 POST 封包,並回傳代碼錯誤的資訊(圖二),因此猜測使用藍牙 Beacon 打卡也是發送到同樣路徑。

圖片

圖一

圖片

圖二

接著在各 JavaScript 檔案中搜尋 /tschool/checkin 字串,在 index-BpnFAM8I.js 檔案中找到一個 function f() 會進行打卡的動作(圖三),再搜尋字串 f( 找到呼叫函式的程式(圖四),發現帶入的參數中,有一個是取得 _ 資料中的 uuid,於是搜尋 const _ 字串找到各打卡基地的 uuid(圖五)。

圖片

圖三

圖片

圖四

圖片

圖五

漏洞攻擊

  1. 使用驗證碼打卡輸入任意六位數以獲取相關資料(下圖)。

圖片

  1. 將獲取的相關資料寫成常數 b,並將 code 換成圖五 _ 常數中的 uuid。
  2. 撰寫 POST 程式,並將 accessToken 換上。
  3. 將以上兩段程式丟入瀏覽器的 console 中執行,就成功打卡了!(下圖)

圖片

修補建議

此為 CWE-200: Information Exposure。

建議使用後端驗證,並改為動態 uuid。

擷圖

留言討論

聯絡組織

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