OWASP A01 權限控制:登錄成功不代表可以讀取任意訂單

從對象、租戶和操作三個維度檢查 API 授權,避免只隱藏按鈕或依賴前端校驗。

本文目錄

認證確認身份,授權決定動作

OWASP Top 10:2025 將存取控制失效列為 A01。使用者通過登錄后,應用仍需判斷其能否讀取、修改或刪除當前對象。把某個訂單編號放在 URL 中、給按鈕加隱藏樣式,都不能代替服務端對對象歸屬和操作權限的判斷。

多租戶系統先確認租戶邊界

建議從可信會話確定租戶上下文,不直接相信客戶端提交的租戶編號。查詢、導出、附件下載和異步任務都要保留同樣的邊界;權限變更后,還應檢查快取、已簽發鏈接和后臺任務是否繼續保留過期授權。

用角色矩陣設計測試

準備匿名使用者、普通使用者、另一租戶使用者和管理員等測試身份,針對同一對象分別驗證查詢、修改、刪除和批量操作。預期拒絕應由服務端執行,并記錄可追蹤的結果。不要只測試正常帳號能成功存取這一種情況。

快取與邊緣防護配合權限設計

私有響應應避免被共享快取錯誤復用;授權接口的快取鍵和失效機制要經過驗證。WAF 可以過濾部分異常請求,卻通常無法知道一個訂單屬于哪個業務租戶。真正的權限判斷仍由業務系統負責,失敗記錄應進入審計與告警。

參考資料

OWASP Top 10 2025: Broken Access Control

繼續閱讀

查看相關內容

返回行業資訊 聯繫技術支持