API安全测试与Web应用基础全解析
一、API安全测试相关要点
1.1 审核API文档
API文档是描述如何使用API的手册,涵盖认证要求、用户角色、使用示例和API端点信息等。优质的文档对API的商业成功至关重要,若缺乏有效文档,企业就得依靠培训来支持用户。不过,这些文档可能存在不准确、信息过时和信息泄露漏洞等问题。作为API黑客,应查找目标API文档并加以利用。在灰盒和白盒测试中,需对API文档进行审核,通过审查文档可暴露目标API的弱点,包括业务逻辑缺陷,进而提升其安全性。
1.2 速率限制测试
速率限制是指在给定时间内,API用户可发起的请求数量限制,由API提供商的Web服务器、防火墙或Web应用防火墙实施。它对API提供商有两个重要作用:一是实现API货币化,二是防止资源过度消耗。因此,在API测试中应将其纳入范围。
例如,企业可能允许免费用户每小时发起一次请求,请求发出后,该用户一小时内无法再发起其他请求;而付费用户每小时可发起数百次请求。若缺乏足够控制,免费用户可能绕过限制随意获取数据。
速率限制测试与拒绝服务(DoS)测试不同。DoS测试旨在破坏服务,使系统和应用对用户不可用,用于评估组织计算资源的弹性;而速率限制测试是尝试绕过请求数量限制,不一定会导致服务中断,但可能有助于其他攻击,并暴露组织API货币化方法的弱点。
通常,组织会在API文档中公布请求限制,如“你可在Y时间内发起X次请求,若超过该限制,将收到服务器的Z响应”。以Twitter为例,认证后根据授权级别限制请求,第一级每15分钟可发起15次请求,下一级每15分钟可发起180次请求,超过限制将收到HTTP错误4
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



