[網站漏洞] 005 商業邏輯漏洞 Business Logic Vulnerabilities

🧠 前言

商業邏輯漏洞是資安世界中非常「隱蔽但致命」的一類漏洞。

這類漏洞不是因為程式語法錯誤或缺乏加密,而是來自於 開發者設計流程或判斷邏輯不夠嚴謹,被駭客利用後,可能導致金流錯誤、個資外洩、權限繞過等重大風險。


❓ 何謂商業邏輯?

讓我們先來看一個購物網站的基本流程:

  1. 使用者看到商品列表
  2. 使用者點選喜歡的商品,按下「加入購物車」
  3. 系統將商品加入購物車
  4. 使用者點選「結帳」
  5. 系統計算應付金額,完成交易

這些「流程」和「條件判斷」就是商業邏輯的一部分。

如果後端邏輯設計不良,就可能被有心人士操弄,例如:

  • 修改價格
  • 改變數量
  • 避開付款流程
  • 繞過會員等級限制

🔍 為什麼會產生商業邏輯漏洞?

這類問題通常不是單純的技術錯誤,而是來自開發流程中幾個常見的疏忽:

  1. 無條件信任使用者輸入
  2. 前端驗證有做,但後端沒驗證
  3. 驗證規則寫得不完整或不嚴謹
  4. 沒有針對邊界情況進行處理(如:0 元、負數、重複點擊)

💥 商業邏輯漏洞的影響

  • 修改或繞過原本預期的系統邏輯
  • 導致資金損失、業務流程被濫用
  • 使用者資料外洩或不當使用
  • 影響品牌信任與法規合規性

📌 常見的商業邏輯漏洞範例

範例 1:前端過濾,後端沒檢查

購物車頁面雖然前端限制了最大購買數量,但使用者若用工具(如 Burp Suite)改封包,送出 quantity=-100,後端沒有檢查,結果可能導致:

  • 交易金額為負數
  • 系統誤發現金券或退款
  • 被用來大量盜刷優惠

範例 2:訂單驗證不完整

某些 API 只檢查是否有「登入」,卻沒確認使用者是否為該筆訂單的擁有者,導致攻擊者只要猜中訂單編號,就能查詢或取消他人的訂單。


🧪 實作練習建議

工具:Burp Suite(社群版即可)

  • 攔截購物網站的 POST 請求
  • 修改關鍵欄位如 pricequantityuser_id
  • 嘗試送出不合理的值(負數、0、極大值)

靶場環境推薦:


🧩 HackerOne 真實案例


🔐 如何防禦商業邏輯漏洞

設計階段

  • 不信任使用者輸入,後端獨立查驗價格與邏輯
  • 針對每個功能流程進行濫用風險評估

開發階段

  • 後端再次驗證所有業務邏輯相關參數
  • 給重要操作加上簽章驗證、使用者驗證碼、一次性 Token

測試階段

  • 實施 Security QA 測試,設計濫用流程模擬
  • 撰寫自動化測試覆蓋商業邏輯分支

📚 CWE 參考


🧠 互動問題 & 小測驗

問題 1

在一個購物車系統中,使用者將商品價格改為 1 元並送出訂單成功,這屬於哪類漏洞?

  • A. SQL Injection
  • B. XSS
  • C. 商業邏輯漏洞 ✅
  • D. CSRF

問題 2

下列哪一項不是預防商業邏輯漏洞的方法?

  • A. 在後端進行驗證
  • B. 前端寫嚴格的 JavaScript 驗證
  • C. 加入權限控管
  • D. 為操作流程設計驗證機制

答案:B(因為前端容易被繞過)

問題 3

你發現某網站的購物車可以送出 quantity=-10,結果獲得退費,這代表哪個設計出現問題?

  • A. 密碼加密演算法
  • B. 訂單處理邏輯 ✅
  • C. 資料庫備份機制
  • D. API 金鑰保護

📌 延伸練習題(小專案)

設計一個小網站購物流程(用 HTML 表單 + Flask / PHP)

  • 功能:選商品、加入購物車、結帳
  • 練習:用 Burp Suite 攔截請求,試著讓商品變成負數、價格變成 1 元
  • 任務:改進後端程式碼,加入正確的驗證邏輯,讓漏洞無法被利用

🧭 結語

學資安,不只是學會攻擊工具,更要學會「看懂流程、找出邏輯盲點」。

當你能用駭客思維審視一段商業邏輯,你就已經具備了高價值的資安能力。

讓我們從今天開始,訓練「邏輯漏洞偵測力」!

林子婷(飛飛/Phoebe菲比)
林子婷(飛飛/Phoebe菲比)

技術專長:OSINT、滲透測試、網站開發、專業易懂教育訓練。
資安證照:OSCE3、OSED、OSWE、OSEP、OSCP、OSTH、OSWA、OSWP、OSCC、OSCC-SJD。
資安書籍:《資安這條路:領航新手的 Web Security指南》。
教學經驗:50+ 企業教學經驗、指導過上百位學員。
教學特色:新手友善、耐心指導、擅長圖解(流程圖、心智圖)引導學習。
社群經驗:目前經營全臺資安社群 CURA,曾任臺科資安社社長、逢甲黑客社社長。
社群交流:Line 社群《飛飛的資安大圈圈》,即時分享經驗、鼓勵交流。
社群分享:FB 粉專《資安這條路,飛飛來領路》,分享文章與圖卡整理。
資安網站:feifei.tw 資安系列文章