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

前言

商業邏輯漏洞主要由「開發者」在撰寫程式碼的時候,不太熟悉安全的程式碼開發原則,因此寫出 Bug 而該 Bug 引起重大影響,如個資外洩、商業邏輯任意修改。

何謂商業邏輯

首先我們可以看以下的流程

  1. 使用者看到商品列表
  2. 使用者看到喜歡的商品,後點選「加入購物車」的按鈕
  3. 系統將商品加入到購物車
  4. 使用者點選結帳
  5. 系統結算應該結帳的金額

其中加入購物車跟結帳都是需要系統後端撰寫程式碼去實作「邏輯」的部分,但如果這些內容沒有撰寫好,可能就會有邏輯缺陷。

為什麼會有商業邏輯漏洞

主要有幾個原因

  1. 無條件信任使用者輸入的內容
  2. 過濾使用者輸入,但是沒有過濾完全,導致被繞過

商業邏輯漏洞影響

  1. 任意修改系統邏輯
  2. 影響到使用系統的使用者,如個資外洩

商業邏輯漏洞範例

  1. 前端進行過濾,但後端沒有過濾,導致只需要攔截封包,修改封包內容就可以被繞過。
  2. 訂購商品沒有限制為正整數,被駭客修改成 負數或是 0 可能會造成金額上的算數問題。

Hackerone 真實案例

如何防禦商業邏輯漏洞

  1. 完全不要信任使用者的輸入
  2. 程式碼邏輯應該要撰寫清晰

CWE

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

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