缺少功能级访问控制

缺少功能级访问控制

大多数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可以访问客户经理的资源。

预防机制

  • 默认情况下,身份验证机制应拒绝所有访问,并为每个功能提供对特定角色的访问权限。
  • 在基于工作流的应用程序中,在允许用户访问任何资源之前验证用户的状态。