API攻击认知:Broken Object Level Authorization(BOLA)- 为何高居OWASP API Top 10榜首
在今年的网络安全意识月期间,我们认为有必要提请大家关注一些最常见和最危险的API漏洞。
本周,我们从Broken Object Level Authorization(BOLA)开始。BOLA漏洞高居OWASP API Top Ten榜首。这有充分的理由:它们惊人地普遍,非常容易利用,并可能产生毁灭性后果。
那么,让我们来探讨它们是什么,为什么重要,以及如何缓解它们。
什么是BOLA漏洞?
顾名思义,当对象级别授权失效时,就会出现BOLA漏洞。
对象级别授权是一种访问控制机制,用于验证用户可以访问他们应该有权访问的对象。
当API端点接收对象ID并对其执行任何操作时,它应该实施对象级别授权检查。正常工作时,这些检查会验证经过身份验证的用户是否有权限(即授权)对请求的对象执行请求的操作。
然而,当机制失效或根本不存在时,未经授权的用户可以窃取、修改或销毁数据。
BOLA很常见,后果很严重
BOLA漏洞惊人地普遍。
在Wallarm 2025年第二季度的API ThreatStats报告中,我们发现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 Top 10 API漏洞的威胁。