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

飛飛 | 2023-02-17

前言

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

何謂商業邏輯

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

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

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

為什麼會有商業邏輯漏洞

主要有幾個原因

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

商業邏輯漏洞影響

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

商業邏輯漏洞範例

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

Hackerone 真實案例

如何防禦商業邏輯漏洞

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

CWE

[網站漏洞] 004 Command injection 指令注入

飛飛 | 2022-03-30

今天要介紹的 Command injection ,也就是可以透過這個漏洞去執行伺服器的命令 ( Command ) ,通常有這個漏洞就可以做到遠端程式碼執行( RCE,Remote Code Execution)。

(閱讀全文...)

[網站漏洞] 003 Directory traversal/File Path traversal 路徑穿越/目錄遍歷

飛飛 | 2022-03-30

本文介紹目錄遍歷(文件路徑遍歷)-Directory traversal/Path traversal,透過漏洞取得伺服器檔案,如原始碼、設定檔(帳號密碼 IP)造成敏感外洩。

(閱讀全文...)

[網站漏洞] 002 Broken Authentication vulnerabilities 身份驗證漏洞

飛飛 | 2022-03-25

本篇文章介紹 OWASP top 10 中 2017 第二名的 broken authentication 針對身份驗證相關的漏洞,身份驗證原理,以及常見的三種身份驗證漏洞成因,最後附上與身份驗證防禦的方式。

(閱讀全文...)

[網站漏洞] 001 SQL injection 與自建 LAB

飛飛 | 2022-03-24

本篇文章介紹網站漏洞 SQL injection,先認識 SQL 查詢語言,介紹注入類型:如字串型、數字型、Union 型、blind 型,最後完成一個 SQLi LAB。

(閱讀全文...)