访问控制失效

文章来源:信息化建设与管理中心发布时间:2024-11-15浏览次数:10

访问控制强制执行策略,使用户无法在 他们的预期权限。失败通常会导致未经授权的 信息披露、修改或销毁所有数据,或 执行超出用户限制的业务功能。公共访问 控制漏洞包括:

违反最小权限原则或默认拒绝, 其中,只应授予对特定功能的访问权限。

通过修改 URL(参数 tampering 或 force browsing)、内部应用程序状态或 HTML 页面,或使用攻击工具修改 API 请求。

访问缺少 POST、PUT 和 DELETE 访问控制的 API。

特权提升。在未登录的情况下以用户身份操作,或 以用户身份登录时充当管理员。

元数据操作,例如重播或篡改 JSON Web 令牌 (JWT) 访问控制令牌,或者 Cookie 或隐藏字段 操纵以提升权限或滥用 JWT 失效。

CORS 配置错误允许来自未经授权/不受信任的 API 访问 起源。

强制以未经身份验证的用户身份浏览到已验证的页面,或 作为标准用户添加到特权页面。

如何预防:

访问控制仅在受信任的服务器端代码中有效,或者 无服务器 API,攻击者无法修改访问控制 check 或 metadata。

除公共资源外,默认为 deny。

实施一次访问控制机制,并在整个过程中重复使用它们 应用程序,包括最大限度地减少跨域资源共享 (CORS) 的使用。

模型访问控制应强制执行记录所有权,而不是 接受用户可以创建、读取、更新或删除任何 记录。

应通过以下方式强制执行独特的应用程序业务限制要求 domain 模型。

禁用 Web 服务器目录列表并确保文件元数据(例如 .git) 和备份文件不存在于 Web 根目录中。

记录访问控制失败,在适当的时候提醒管理员(例如, 反复失败)。

对 API 和控制器访问进行速率限制,以最大程度地减少 API 和控制器访问的危害 自动化攻击工具。

注销后,应在服务器上使有状态会话标识符失效。 无状态 JWT 令牌的生存期应该是短暂的,以便 攻击者的机会降至最低。对于寿命较长的 JWT,强烈建议 按照 OAuth 标准撤销访问权限。