赞
踩
1. 失效的对象级别授权
API倾向于公开处理对象标识符的端点,从而产生广泛的攻击表层访问控制问题。在使用用户输入访问数据源的每个函数中,都应考虑对象级授权检查。
2. 失效的用户身份验证
身份验证机制的实现往往不正确,使得攻击者能够破坏身份验证令牌或利用漏洞临时或永久地盗用其他用户的身份。破坏了系统识别客户端/用户的能力,损害API的整体安全性。
3. 过度的数据暴露
依赖通用方法,开发人员倾向于公开所有对象属性而不考虑其各自的敏感度,依赖客户端在向用户显示数据前执行数据筛选。
4. 资源缺乏和速率限制
API 通常不会对客户端/用户可以请求的资源的大小或数量施加任何限制。这不仅会影响 API 服务器的性能,导致拒绝服务(DoS),而且还会为诸如暴力破解等身份验证缺陷敞开大门。
5. 失效的功能级授权
具有不同层次结构、组和角色的复杂访问控制策略,以及管理功能和常规功能之间不明确的分离,往往会导致授权漏洞。通过利用这些漏洞,攻击者可以访问其他用户的资源和/或管理功能。
6. 批量分配
将客户端提供的数据(例如 JSON)绑定到数据模型,而无需基于白名单进行适当的属性筛选,通常会导致批量分配。无论是猜测对象属性、探索其他 API 端点、阅读文档或在请求负载中提供其他对象属性,攻击者都可以修改它们不被允许修改的对象属性。
7. 安全配置错误
安全错误配置通常是由于不安全的默认配置、不完整或临时配置、开放云存储、配置错误的HTTP 头、不必要的HTTP 方法、允许跨域资源共享(CORS)和包含敏感信息的详细错误消息造成的。
8. 注入
当不受信任的数据作为命令或查询的一部分发送给解释器时,就会出现注入缺陷,如 SQL、NoSQL、命令注入等。攻击者的恶意数据可诱使解释器在未经恰当授权的情况下执行非预期的命令或访问数据。
9. 资产管理不当与传统 Web 应用程序相比,API倾向于公开更多的端点,这使得恰当的文档编制和更新变得非常重要。正确的主机和已部署的 API 版本清单对于缓解弃用的 API 版本和公开的调试终端节点等问题也起着重要的作用。
10. 日志和监视不足
日志记录和监控不足,加上与事件响应的集成缺失或无效,使得攻击者可以进一步攻击系统,保持持久性,转向更多系统以篡改、提取或销毁数据。大多数违规研究表明,检测违规行为的时间超过 200 天,通常由外部方而不是内部程序或监控发现。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。