目录
(point)
参考《API安全技术与实战》
一、常见的API漏洞
类别 | 原因 | 利用 |
保护机制不全/未受保护API | 开放API中,会对第三方身份核查,并进行保护,但是保护机制不全 API未受保护。 | 被攻击者渗透后访问后端系统等 |
弱身份鉴别 | 认证设计缺陷导致对用户身份的鉴别和保护机制不全 | 弱密码、硬编码、暴力破解等 |
中间人劫持 | API的通信链路安全机制不全 | 伪装成API链中的某个受信任链,拦截数据以进行数据篡改或加密卸载 |
Web攻击 | 针对URL | 攻击HTTP协议中不同的参数,来达到攻击目的 |
弱会话控制 | 会话安全保护机制存在缺陷(比如令牌等) | 会话令牌使API服务器知道被谁调用,令牌可能遭到破坏、重放或被欺骗 |
反向控制 | 服务器端是可信的(大多数安全协议) | 服务器端被控制,则反向导致调用API的客户端出现安全问题 |
框架攻击 | API规范、架构设计导致的安全问题 | 多版本,低版本API漏洞; 调用API,可能pc端安全,但是移动端可能存在漏洞 |
二、owasp API 10
API漏洞 | 原因 | 利用 |
失效的对象级授权 | 对象级别授权的API被破坏,未经授权的或敏感的数据泄露 | 水平越权,垂直越权,参数遍历 |
失效的用户认证 | API身份认证机制设计存在缺陷或无保护设计 | 暴露破解、Token未校验或Token泄露 |
过度的数据暴露 | API响应报文中,未适当过滤返回信息(敏感信息泄露) | 报错回显等 |
资源和速率控制缺陷 | 未对API做资源和速率限制或保护不足 | 接口无频次限制,导致数据被盗 接口无速率限制,导致大量文件上传耗尽服务器资源 |
失效的功能级授权 | 相关功能的控制缺陷 | 修改HTTP方法请求方法,访问一些非授权的API。 普通用户修改为api/admininfo,调用管理类API |
批量分配 | 业务对象或数据结构中属性值被篡改 | 将属性值设置user.is_admin和user.is_manager来提升权限 |
安全性配置错误 | 系统配置错误导致API存在安全隐患 | 没有使用TLS导致中间人劫持(传输层) 异常堆栈信息未处理,传输至调用端,导致信息泄露 |
注入 | 存在注入点 | 被注入执行恶意代码 |
资产管理不当 | 关于API的相关资产混乱 | 测试环境的、已过期的、低版本的、未升级补丁的、影子API等接口暴露 |
日志记录和监控不足 | 对API缺失有效的监控和日志审计 | 被攻击时缺少告警、提醒,未能及时阻断 |