Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00559
- Vendor: 王品集團
- Title: 王品集團 活動網站 API 缺乏後端驗證
- Introduction: 活動網站 API 缺乏後端驗證,導致可輕易偽造遊戲高分
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
已修補
-
未複測
-
公開
處理歷程
- 2026/04/20 12:28:48 : 新提交 (由 ecc 更新此狀態)
- 2026/04/20 12:42:54 : 新提交 (由 ecc 更新此狀態)
- 2026/04/27 17:40:07 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/05/20 15:29:44 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/05/20 15:29:44 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/05/20 15:29:44 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/05/22 17:07:40 : 已修補 (由 組織帳號 更新此狀態)
- 2026/05/30 03:00:17 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00559
- 通報者:Ed_chen (ecc)
- 風險:低
- 類型:其他 (Other)
參考資料
相關網址
敘述
漏洞種類 (Vulnerability Type)本漏洞屬於 CWE-602:伺服器端安全性之前端執行 (Client-Side Enforcement of Server-Side Security) 以及 CWE-20:不當的輸入驗證 (Improper Input Validation)。
漏洞說明 (Vulnerability Description)王品集團「全民一起好好吃」活動網站的太鼓節奏遊戲,在計算與上傳玩家分數時,完全信任客戶端(Browser)所提交的數據,缺乏伺服器端(Server-side)的合理性校驗(如:點擊頻率物理極限、遊戲經過時間與分數的匹配度)。當遊戲結束時,前端程式碼會將使用者的分數打包,經過簡單的自定義混淆演算法(JSON 字串化 -> escape -> URI 編碼 -> Base64 -> 全字元 ASCII 碼 +1),將其轉換為 payload 參數,並透過 POST 請求發送至結算 API /api/event/done。由於防護僅依賴前端代碼的隱晦性(Security by Obscurity),攻擊者只需分析前端 JavaScript 即可輕易還原加密邏輯,構造包含任意極端高分的惡意 Payload 進行重放攻擊(Replay Attack)。
重現漏洞方式 (Steps to Reproduce)正常登入活動網站,取得具備授權的 Authorization: Bearer [JWT_TOKEN]。
進入太鼓遊戲頁面,並透過開發者工具(F12)的 Network 面板,攔截遊戲結束時發送至 /api/event/done 的 POST 請求,可觀察到被混淆的 payload。
追蹤前端打包檔案 index-C--y6tF7.js,找出處理發送與加密的核心函式 ns。可以發現其邏輯僅為標準 Base64 轉換後進行 ASCII 位移。撰寫 Proof of Concept (PoC) 腳本,還原並構造惡意分數 Payload:
,替換封包中的payload
,送出後分數變成自己當時設定的
。
修補建議
建議可以將驗證移至後端或是要阻擋機器人則可以加上miss也會扣分