缺少函数级访问控制



大多数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

预防机制

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

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

广告