缺少功能級存取控制


大多數Web應用程式在使使用者可以存取該功能之前驗證功能級別存取許可權。但是,如果未在伺服器上執行相同的存取控制檢查,則駭客無法在未經適當授權的情況下進入應用程式。

我們將通過以下每項來了解這個漏洞的威脅代理,攻擊向量,安全弱點,技術影響和業務影響。

  • 威脅代理 - 具有網路存取許可權的任何人都可以向應用程式傳送請求。
  • 攻擊者的方法 - 誰是授權系統使用者,只需將URL或引數更改為特權函式即可。
  • 安全弱點 - 功能級別保護通過組態進行管理,系統組態錯誤。
  • 如何發現缺陷 - 檢測這樣的缺陷很容易。最難的部分是確定哪些URL受到影響。
  • 技術影響 - 允許攻擊者存取未經授權的功能。行政職能是此類攻擊的關鍵目標。
  • 業務影響 - 如果此漏洞公開,則會影響組織的聲譽。

範例

以下是缺少功能級存取控制的典型範例 -

駭客只是強制目標URL。通常,管理員存取需要身份驗證,但是,如果未驗證應用程式存取許可權,則未經身份驗證的使用者可以存取管理頁面。

# Below URL might be accessible to an authenticated user
http://website.com/app/standarduserpage

# A NON Admin user is able to access admin page without authorization.
http://website.com/app/admin_page

動手實踐

第1步 - 首先瀏覽使用者列表及其存取許可權,以帳戶管理員身份登入。

第2步 - 嘗試各種組合後,可以發現使用者Larry可以存取客戶經理的資源。

預防機制

  • 預設情況下,身份驗證機制應拒絕所有存取,並為每個功能提供對特定角色的存取許可權。
  • 在基於工作流的應用程式中,在允許使用者存取任何資源之前驗證使用者的狀態。