
如何找到合適的API
如果攻擊者嘗試修改刪除方法,將路徑中的用戶關鍵字更改為管理員,則攻擊者獲得管理員角色的訪問權限,并可以執行刪除操作。
由于服務器端缺乏 API 訪問控制處理,攻擊成功。
假設有一個在線銀行應用程序允許用戶在賬戶之間轉賬。該應用程序具有不同的授權級別,普通用戶只能在自己的賬戶內轉賬,而管理員可以在任何賬戶之間轉賬。在這種情況下,如果應用程序在處理資金轉賬請求之前未能檢查用戶的角色或權限,則存在 BFLA 漏洞。例如,如果普通用戶試圖將資金從一個賬戶轉移到不屬于他們的另一個賬戶,應用程序應該拒絕該請求。然而,由于功能級別授權受損,應用程序可能會忽略此檢查,從而允許未經授權的交易繼續進行。攻擊者可以通過操縱請求參數或使用代理工具攔截請求來利用此漏洞。通過將目標帳號更改為另一個用戶的帳戶,他們可以誘騙應用程序將資金從受害者的帳戶轉移到自己的帳戶。
為了緩解 BFLA 漏洞,必須在每個功能或特性級別實施強大的授權檢查,確保用戶在嘗試執行操作時得到正確的身份驗證和授權。API 網關可以幫助實現這一點。
文章來源:The Risks of Broken Function Level Authorization(BFLA) and How to Mitigate Them with an API Gateway