API攻击认知:失效的对象级别授权(BOLA)- 为何位居OWASP API Top 10榜首
在今年的网络安全意识月期间,我们认为有必要提请大家关注一些最常见和最危险的API漏洞。
本周,我们将从失效的对象级别授权(BOLA)开始。BOLA漏洞在OWASP API Top 10中位居榜首。这是有充分理由的:它们惊人地普遍,非常容易利用,并可能带来毁灭性后果。
那么,让我们来探讨它们是什么、为什么重要,以及如何缓解它们。
什么是BOLA漏洞?
顾名思义,BOLA漏洞发生在对象级别授权失效时。
对象级别授权是一种访问控制机制,用于验证用户是否可以访问他们应该有权访问的对象。
当API端点接收到对象ID并对其执行任何操作时,它应该实施对象级别授权检查。在正常工作时,这些检查会验证经过身份验证的用户是否有权限(即授权)对请求的对象执行请求的操作。
然而,当该机制失效或根本不存在时,未经授权的用户可以窃取、修改或销毁数据。
BOLA很常见,后果很严重
BOLA漏洞极其常见。
在Wallarm 2025年第二季度的API威胁统计报告中,我们发现2025年第二季度大多数与API相关的已知被利用漏洞(KEV)都利用了BOLA漏洞。为什么?因为它们:
- 易于利用,不需要攻击者使用复杂工具或高级漏洞利用
- 难以检测,因为传统扫描器在检测有状态漏洞(如BOLA)时面临挑战
- 能够绕过传统防御,如防火墙、WAF甚至标准身份验证
而且,如果被利用,BOLA漏洞可能带来严重后果。
就在最近,巴西推出的一款新约会应用因研究人员发现的BOLA漏洞而不得不关闭。Sapphos约会应用于9月初推出,但BOLA漏洞允许未经授权的用户访问其他用户的数据,包括姓名、出生日期和身份验证自拍。在通知启动后获得的17,000名用户有关漏洞的信息后,他们关闭了该应用以专注于网络安全。
BOLA漏洞如何发生
让我们从高层次看一下攻击者可能如何利用BOLA漏洞。
API通常暴露接受对象标识符(如ID、发票号或文件名)的端点,并返回相应的资源。当服务器信任客户端提供的ID而不验证经过身份验证的用户是否有权访问该特定对象时,就存在BOLA。
攻击者通常通过以下方式利用BOLA漏洞:
- 搜索接受对象标识符的端点(例如在URL、查询字符串或JSON正文中)
- 将请求中的ID替换为属于不同对象的ID
- 重新发送请求
如果服务器在不检查所有权或权限的情况下获取并返回对象,攻击者就会获得他人的数据或可以代表他们行事。后果包括:
- 数据泄露:与对象ID相关的任何内容都会暴露
- 账户泄露:更改或删除其他用户的对象可能导致部分或完全账户接管
- 业务影响:包括欺诈、监管罚款、客户流失或代价高昂的事件响应
因此,缓解BOLA漏洞对任何组织的整体安全都至关重要。但是,具体该怎么做呢?
缓解BOLA:强化授权检查
实施强授权检查是缓解BOLA的第一步也是最重要的一步。
这意味着:
- 强制执行所有权规则:例如,确保用户只有在他们是user12345时才能访问/users/12345
- 上下文感知检查:确保授权与会话、角色和对象所有权相关联,而不仅仅是身份验证
- 跨端点一致性:确保每个检索或修改数据的API端点都应用相同的访问控制逻辑
这是只有您的后端逻辑才能保证的。没有WAF或API防火墙可以自动为您构建这些规则。它们不知道您的后端规则。
话虽如此,即使有强授权检查,错误也可能悄悄溜进来。开发人员可能会遗漏某个端点,业务逻辑可能会改变并破坏一致性,或者测试可能无法捕获回归。
这就是您需要Wallarm的原因。
Wallarm如何检测和预防BOLA
Wallarm的API发现功能识别可能受到BOLA攻击的具有可变性的端点。此外,Wallarm包括默认的缓解控制措施,以识别攻击者枚举对象的尝试。虽然提供了默认控制措施,但用户可以创建自定义控制措施,使BOLA保护适应其特定的API和应用程序。
Wallarm不仅检测BOLA攻击;它还阻止它们。用户可以配置BOLA缓解控制措施,以主动阻止单个API会话和整个IP地址以响应BOLA攻击。
提高意识,加强保护
数据丢失。账户接管。业务影响。
BOLA漏洞可以使组织陷入困境。
意识到它们是一回事。保护API免受其害是另一回事。
立即与Wallarm安排演示,了解我们如何帮助保护您的组织免受OWASP API漏洞Top 10的威胁。