📜  缺少功能级别的访问控制

📅  最后修改于: 2020-12-04 05:21:16             🧑  作者: Mango


大多数Web应用程序在使功能可被用户访问之前先验证函数级别的访问权限。但是,如果未在服务器上执行相同的访问控制检查,则黑客可以在没有适当授权的情况下侵入应用程序。

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

missing_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-让我们以帐户管理员的身份登录,首先浏览用户列表及其访问权限。

missing_fn_level_access_control1

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

missing_fn_level_access_control1

预防机制

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

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