写点什么

API 渗透测试之漏洞发现

作者:阿泽🧸
  • 2023-04-14
    北京
  • 本文字数:746 字

    阅读完需:约 2 分钟

API渗透测试之漏洞发现

漏洞发现是利用收集到的信息,发现应用程序的缺陷或漏洞的过程。在常规的渗透测试中,这种漏洞发现的范围非常广,包含了信息系统的方方面面,比如网络层协议配置错误、主机补丁没有及时升级、应用层权限配置错误等。通常情况下,漏洞发现的手段主要有自动化检测和手工挖掘两种方式。


自动化检测:是指使用设备、工具、软件与被渗透对象进行交互,根据应答响应情况判别是否存在漏洞。这种方式的检测一般耗时短、速度快,但往往存在一定比例的漏报或误报。


手工挖掘:是指以人工方式,辅助工具来验证被渗透对象是否存在漏洞。这种方式的检测通常耗时长、速度慢,但准确性高,很少存在误报。


在实际工作中,往往两种方式混合使用,比如先使用自动化检测工具全量扫描一次,再针对高风险业务场景,进行人工渗透或复核。


在 API 渗透测试中,因为 API 的特殊性,如果前期信息收集不全(比如 API 列表不全遗漏了影子 API),自动化扫描过程中会无法检测到相应 API 的漏洞,这时通常需要手工挖掘。在 API 渗透测试中,手工挖掘往往占有较大的比重。当采用手工挖掘时,以下事项是需要重点关注的。


  • 认证和授权:对于 API 的认证鉴权机制,设计人员和研发人员往往认识不足,有的 API 调用甚至缺少认证与授权机制。比如令牌、HTTP 方法(GET,POST,PUT 和 DELETE 等)在进入服务器之前是否都经过了验证,OAuth 协议使用的正确性,无认证和授权的 API 是否可以任意调用。

  • 输入验证:和其他类型的应用程序一样,对于输入的不可信是应用程序安全的基础,但研发人员常常因疏忽导致对输入缺少有效的验证。比如 XML 实体注入类型的攻击、不同的响应类型 application/json 与 application/xml。

  • 数据编码:包含 JSON 格式的数据,容易导致反序列化漏洞或远程代码执行。

  • API 版本和影子 API:同一个 API 的不同版本或未在 API 规范文件中描述的 API,更容易发现安全漏洞。

发布于: 刚刚阅读数: 5
用户头像

阿泽🧸

关注

还未添加个人签名 2020-11-12 加入

还未添加个人简介

评论

发布
暂无评论
API渗透测试之漏洞发现_三周年连更_阿泽🧸_InfoQ写作社区