Coders Conquer Security OWASP API 前十大漏洞系列 - 功能级访问控制缺失

本系列博客将重点探讨与应用程序编程接口(API)相关的一些最严重的漏洞。这些漏洞极其严重,已被列入开放式 Web 应用程序安全项目(OWASP)的 API 前十大漏洞列表。鉴于 API 对现代计算基础设施的重要性,这些是您必须不惜一切代价防止其出现在您的应用程序和程序中的关键问题。
功能级访问控制缺失漏洞允许用户执行本应受限的功能,或访问本应受保护的资源。通常,功能和资源会在代码或配置设置中得到直接保护,但这并不总是容易正确实现的。实施适当的检查可能很困难,因为现代应用程序通常包含多种角色和组,以及复杂的用户层级。
但在开始之前,何不参与我们的游戏化挑战,看看您在应对这类棘手漏洞方面的水平如何?
让我们深入了解一下:
API 对此缺陷尤为脆弱,因为它们具有高度的结构化。了解代码的攻击者可以对如何执行本应受限的命令进行有根据的猜测。这就是功能/资源级访问控制漏洞进入 OWASP 前十名的主要原因之一。
攻击者如何利用功能级访问控制漏洞?
怀疑功能或资源未得到妥善保护的攻击者必须首先获得对他们想要攻击的系统的访问权限。要利用此漏洞,他们必须拥有向端点发送合法 API 调用的权限。也许存在低级别的访客访问功能,或者作为应用程序功能的一部分以匿名方式加入的某种途径。一旦建立了这种访问权限,他们就可以开始更改其合法 API 调用中的命令。例如,他们可能会将 GET 替换为 PUT,或者将 URL 中的 USERS 字符串更改为 ADMINS。同样,由于 API 是结构化的,因此很容易猜出哪些命令可能是允许的,以及将它们放在字符串的什么位置。
OWASP 提供了一个关于此漏洞的示例,即为允许新用户加入网站而设置的注册流程。它可能会使用如下的 API GET 调用:
GET /api/invites/{invite_guid}
恶意用户将获得一个包含邀请详细信息的 JSON,其中包括用户的角色和电子邮件。然后,他们可以将 GET 更改为 POST,并使用以下 API 调用将其邀请权限从用户提升为管理员:
POST /api/invites/new
{"email":"shadyguy@targetedsystem.com","role":"admin"}
只有管理员才能发送 POST 命令,但如果它们没有得到妥善保护,API 就会将其视为合法并执行攻击者想要的任何操作。在这种情况下,恶意用户将被邀请以新管理员的身份加入系统。此后,他们可以看到并执行合法管理员能做的任何事情,这显然是不好的。
消除功能级访问控制漏洞
预防这种 API 漏洞尤为重要,因为攻击者在结构化 API 中找到未受保护的功能并不困难。只要他们能获得对 API 的某种程度的访问权限,他们就可以开始映射代码结构并创建最终会被执行的调用。
因此,所有业务级功能都必须使用基于角色的授权方法进行保护。大多数框架都提供集中式例程来实现这一点。如果您选择的框架没有提供,或者其例程难以实现,那么有许多专门为易用性而构建的外部模块。无论您最终选择哪种方法,请务必在服务器端实施授权。切勿尝试从客户端保护功能。
在创建功能和资源级权限时,请记住,用户应仅被授予执行其所需操作的权限,不得多给。正如在编写 API 或其他任何内容时一样,请实践最小权限原则。这将保护您的环境,并避免未来许多与网络安全相关的麻烦。
查看 Secure Code Warrior 博客页面,深入了解此漏洞以及如何保护您的组织和客户免受其他安全缺陷的侵害。您还可以申请演示 Secure Code Warrior 培训平台,以保持您的所有网络安全技能精湛且与时俱进。
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)