查看: 443|回复: 0

[工具专区] Autoswagger自动化检测未授权 API 端点中的敏感数据泄露|工具分享

[复制链接]
匿名
匿名  发表于 4 天前 |阅读模式
0x01 工具介绍

Autoswagger 是一款面向 API 安全测试的命令行工具,专注于从 Swagger/OpenAPI 文档中自动发现并检测未授权的端点。它可快速解析 API 规范,执行并发测试,识别 PII(个人可识别信息)、敏感密钥及大规模响应。借助 Presidio 与正则匹配,Autoswagger 能有效定位潜在的数据泄露风险,帮助安全人员、开发者和测试工程师在早期发现并修复安全问题,提升系统的整体防护能力。

qw1.jpg

注意:现在只对常读和星标的公众号才展示大图推送,建议大家把渗透安全HackTwo"设为星标⭐️"否则可能就看不到了啦!

下载地址在末尾#渗透安全HackTwo

0x02 功能简介

🔥 核心功能亮点

多个发现阶段

通过三种方式发现 OpenAPI 规范:

直接规范.json:如果提供了以、.yaml或结尾的路径的完整 URL .yml,则直接解析该文件。

Swagger UI:解析 Swagger UI 的已知路径(例如/swagger-ui.html),并从 HTML 或 JavaScript 中提取规范。

直接使用暴力破解规范:尝试使用常见的 OpenAPI 模式位置(/swagger.json例如/openapi.json、 等)进行发现。仅当 1. 和 2. 均未得到结果时才尝试此方法。

并行端点测试

对多个端点进行多线程并发测试,遵守可配置的速率限制(-rate)。

参数值的暴力破解

如果使用-b或--brute,请尝试使用带有一些示例值的各种数据类型来尝试绕过特定于参数的验证。

Presidio PII 检测:

检查输出中的电话号码、电子邮件、地址和姓名(通过上下文验证以减少误报)。还可解析 CSV 行和简单的“键:值”行。

秘密检测

利用一组正则表达式模式来检测令牌、密钥和调试工件(如环境变量)。

命令行或 JSON 输出

在默认模式下,结果以表格形式显示。使用-json,输出 JSON 结构。-product模式会过滤输出,仅显示包含 PII、机密或大型响应的内容。

0x03更新说明
新增功能、优化、修复的 bug

0x04 使用介绍

📦安装与使用

🚀 快速开始
cd autoswagger安装依赖:pip install -r requirements.txt建议为此使用虚拟环境python3 -m venv venv;source venv/bin/activate
检查安装,显示帮助:
python3 autoswagger.py -h可选参数:[td]
参数描述
urls基本 URL 或直接规范 URL 的列表。
-v, --verbose启用详细日志记录。在 下创建日志文件~/.autoswagger/logs。
-risk在测试中包括非 GET 方法(POST、PUT、PATCH、DELETE)。
-all输出中包含 200 和 404 端点(不包括 401/403)。
-product仅以 JSON 格式输出具有 PII 或大型响应的端点。
-stats显示扫描统计信息(例如请求、RPS、带有 PII 的主机)。
-rate <N>将请求数限制为每秒 N 个请求。默认值为 30。使用 0 可禁用速率限制。
-b, --brute启用参数值的暴力破解(多个测试组合)。
-json在默认模式下,以 JSON 格式输出结果,而不是 Rich 表。
帮助      
[AppleScript] 纯文本查看 复制代码
 /   | __  __/ /_____  ______      ______ _____ _____ ____  _____
     / /| |/ / / / __/ __ \/ ___/ | /| / / __ `/ __ `/ __ `/ _ \/ ___/
    / ___ / /_/ / /_/ /_/ (__  )| |/ |/ / /_/ / /_/ / /_/ /  __/ /
    /_/  |_\__,_/\__/\____/____/ |__/|__/_\__,_/\__, /\__, /\___/_/
                                              /____//____/
                              [url]https://intruder.io[/url]
                          Find unauthenticated endpoints
usage: autoswagger.py [-h] [-v] [-risk] [-all] [-product] [-stats] [-rate RATE] [-b] [-json] [urls ...]
Autoswagger: Detect unauthenticated access control issues via Swagger/OpenAPI documentation.
positional arguments:
  urls           Base URL(s) or spec URL(s) of the target API(s)
options:
  -h, --help     show this help message and exit
  -v, --verbose  Enable verbose output
  -risk          Include non-GET requests in testing
  -all           Include all HTTP status codes in the results, excluding 401 and 403
  -product       Output all endpoints in JSON, flagging those that contain PII or have large responses.
  -stats         Display scan statistics. Included in JSON if -product or -json is used.
  -rate RATE     Set the rate limit in requests per second (default: 30). Use 0 to disable rate limiting.
  -b, --brute    Enable exhaustive testing of parameter values.
  -json          Output results in JSON format in default mode.
Example usage:
  python autoswagger.py [url]https://api.example.com[/url] -v



  • 直接规范
    如果提供的 URL 以 结尾.json/.yaml/.yml,Autoswagger将直接尝试解析 OpenAPI 模式。

  • Swagger-UI 检测
    • 尝试已知的 UI 路径(例如/swagger-ui.html)。
    • 如果找到,则解析 HTML 或本地 JavaScript 文件中的 aswagger.json或openapi.json。
    • 可以检测嵌入式配置,例如window.swashbuckleConfig。

  • Bruteforce 的 Direct Spec
    • 如果到目前为止没有找到任何规范,Autoswagger 会尝试列出默认端点/swagger.json,如/openapi.json、等。
    • 当发现有效规范或未找到有效规范时停止。
端点测试

  • 收集端点
    加载规范后,Autoswagger 会提取paths键下的每个路径和方法。

  • HTTP 方法
    • 默认情况下,GET仅测试。
    • 用于-risk包括其他方法(POST,PUT,PATCH,DELETE)。

  • 参数值
    • 使用默认值或要枚举的值填充路径/查询参数。
    • 可选择根据规范requestBody(OpenAPI 3)或主体参数(Swagger 2)构建请求主体。

  • 速率限制和并发
    • 支持对每秒请求数设置上限的线程(-rate)。
    • 每个端点都通过专门的工作进行测试。

  • 响应分析
    • 解码响应,检查 PII、秘密和大量内容。
    • 记录相关发现。
PII 检测

  • 基于 Presidio 的分析
    • 搜索电话号码、电子邮件、地址、姓名。
    • 基于上下文的扫描(例如,CSV 标头、键值行)。

  • 机密和调试信息
    • 类似 TruffleHog 的正则表达式检查 API 密钥、令牌、环境变量。
    • 将任何匹配项合并到 PII 数据结构中以供最终报告。

  • 大型响应检查
    • 将具有 100 多个 JSON 元素或大型 XML 结构的响应标记为“有趣”。
    • 还检查原始大小阈值(例如,>100k 字节)。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-8-18 16:26 , Processed in 0.085985 second(s), 31 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部