Autoswagger 是一款免费的开源工具,用于扫描 OpenAPI 文档中列出的 API,查找授权漏洞。
即使在拥有成熟安全团队的大型企业中,这类漏洞仍然很常见,而且尤其危险,因为即使技术水平不高的人也能利用它们。
Autoswagger
Autoswagger 首先会检测各种常见格式和位置的 API 模式,首先会列出组织的域名。
它会扫描 OpenAPI 和 Swagger 文档页面,并向每个主机发送请求以查找有效的模式。
一旦找到,它会解析 API 规范,并自动生成要测试的端点列表,其中会考虑每个端点的定义、所需参数和预期数据类型。
从那里,Autoswagger 执行有针对性的扫描,以通过以下方式识别损坏的授权缺陷:
⦁ 使用从文档中提取的有效参数向每个端点发送请求。
⦁ 标记返回有效响应而不是预期的 HTTP 401 或 403 错误的端点,这通常表示正确的访问控制。
⦁ 突出显示缺少身份验证或身份验证无效的端点。
⦁ 对于更高级的用例,可以使用该--brute标志运行 Autoswagger 来模拟绕过验证检查。这有助于发现需要特定数据格式或值的端点中的缺陷,这些缺陷可能会拒绝通用输入。
该工具会分析所有成功响应,查找敏感数据(例如 PII、凭证或内部记录)泄露的迹象。
任何未进行正确身份验证并返回敏感信息的端点都会包含在输出报告中。
公开 API 文档会有效增加攻击面,作为一项纵深防御措施,除非业务需要,否则不应公开 API 文档。
这方面的教训是,除了每次开发迭代后定期进行 API 扫描外,除非万不得已,否则不应公开 API 文档。如果没有‘地图’,攻击者将更难利用此类漏洞。
Autoswagger 可在GitHub上免费获取。
https://github.com/intruder-io/autoswagger/