缺少功能级别访问控制


大多数 Web 应用程序在使用户可以访问该功能之前都会验证功能级别的访问权限。但是,如果不在服务器上执行相同的访问控制检查,黑客就能够在未经适当授权的情况下渗透到应用程序中。

让我们借助简单的图表了解该缺陷的威胁代理、攻击向量、安全弱点、技术影响和业务影响。

缺少_fn_level_access_control

例子

这是缺少功能级别访问控制的典型示例 -

黑客只是强制目标 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 - 让我们以帐户经理身份登录,首先浏览用户列表及其访问权限。

缺少_fn_level_access_control1

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

缺少_fn_level_access_control1

预防机制

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

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