缺少功能级访问控制

大多数 Web 应用程序在向用户提供该功能之前都会验证功能级访问权限。但是,如果服务器上未执行相同的访问控制检查,黑客便能够在未经适当授权的情况下侵入应用程序。

让我们借助简单的图表了解此缺陷的威胁代理、攻击媒介、安全漏洞、技术影响和业务影响。

missing_fn_level_access_control

示例

以下是缺少功能级访问控制的典型示例 −

黑客只是强制目标 URL。通常,管理员访问需要身份验证,但是,如果应用程序访问未经验证,则未经身份验证的用户可以访问管理页面。

' 经过身份验证的用户可能可以访问以下 URL
http://website.com/app/standarduserpage

' 非管理员用户无需授权即可访问管理页面。
http://website.com/app/admin_page

动手操作

步骤 1 − 让我们首先查看用户列表及其访问权限,然后以帐户管理员身份登录。

missing_fn_level_access_control1

步骤 2 −尝试各种组合后,我们发现 Larry 有权访问资源帐户管理器。

missing_fn_level_access_control1

预防机制

  • 身份验证机制应默认拒绝所有访问,并为每个功能提供对特定角色的访问权限。

  • 在基于工作流的应用程序中,在允许用户访问任何资源之前验证用户的状态。