漏洞挖掘 | Swagger UI 目录枚举小总结

视频教程在我主页简介和专栏里

目录:

通过 Swagger UI 目录枚举挖掘漏洞

前言

什么是 Swagger UI?

Swagger UI 枚举技巧

1. 定位 Swagger UI 文件

 2. 分析 Swagger JSON 文件

 3. 检测错误配置

4. 自动化目录枚举

真实案例发现

最大化 Swagger 枚举的技巧

Swagger UI 错误配置的影响总结Swagger UI 列表

通过 Swagger UI 目录枚举挖掘漏洞

前言

Swagger UI 被广泛用于可视化和交互式操作 API,但开发人员经常错误配置它,或无意间暴露了敏感的端点。通过掌握 Swagger UI 目录枚举,发现许多高影响力的漏洞,而这些漏洞常常被他人忽视。本文将分享一些方法、发现以及一些技巧。

什么是 Swagger UI?

对于不熟悉的人来说,Swagger UI 是一个开源的 API 文档工具,帮助开发人员设计、构建并记录 REST API。它通常会暴露一些端点以便测试和调试使用。虽然对开发人员来说十分便利,但 错误配置的 Swagger UI 可能泄露敏感信息,比如隐藏的目录、端点或参数。

以下是应该关注的点:

许多 敏感端点 往往被意外暴露。

Swagger UI 可能泄露 内部 API 或配置。

它可以帮助你 绘制应用程序的攻击面

测试起来很简单,但一旦配置错误,很难保证安全。

Swagger UI 枚举技巧

以下是一些专业级别的目录提取和枚举方法,这些方法基于真实发现和实际漏洞案例:

1. 定位 Swagger UI 文件

首先,识别 Swagger 文件所在的位置。以下是一些常见的 Swagger UI URL,可以重点检查:

复制代码
https://example.com/swagger.json https://example.com/swagger/v1/swagger.json https://example.com/api/swagger.json https://example.com/api-docs https://example.com/swagger-ui.html

使用 Gau、Wayback MachineGoogle Dorks 工具:

inurl:swagger.json site:example.com

intitle:"Swagger UI" inurl:/api-docs

2. 分析 Swagger JSON 文件

获取 swagger.json 文件后,下载并搜索其中的目录和端点。重点查找:

隐藏路径 (例如:/admin/internal/debug/v2/api

已废弃的端点

敏感参数(例如:API 密钥、令牌)

**示例:**​​​​​​​

复制代码
"paths": {  "/admin/debug": {  "get": {  "description": "Access debug info"  }  },  "/internal/config": {  "post": {  "description": "Post internal configurations"  }  } }

3. 检测错误配置

在绘制出目录结构后,针对以下漏洞进行测试:

身份验证缺失 :例如 /admin/internal 路径无需凭证即可访问。

敏感数据暴露:目录暴露了内部配置、调试日志或凭据。

IDOR(越权漏洞):检查是否存在可操控的对象 ID 或与用户相关的端点。

4. 自动化目录枚举

为了提高速度和效率,可以通过自动化工具进行测试:

使用 工具 (如 ffuf)或 自定义脚本 对从 Swagger 文件中提取的目录进行暴力枚举。

示例:

复制代码
cat swagger.json | jq -r '.paths | keys[]' | ffuf -u https://example.com/FUZZ

结合 Burp Suite 进行更深入的 API 分析。


真实案例发现

以下是通过 Swagger 枚举发现的一些漏洞:

1.未保护的管理员端点 :访问 /admin/debug 泄露了服务器日志。

2.敏感数据暴露:Swagger JSON 在查询参数中泄露了硬编码的 API 密钥。

3.隐藏 API :一个已废弃的 /internal/config 端点导致了权限提升。

这些问题通常被传统扫描器忽略,因为它们未深入分析 Swagger 文件。


最大化 Swagger 枚举的技巧

1.始终检查 /swagger.json /api-docs 中暴露的端点。

2.在自动化之前进行手动分析。这有助于捕捉微妙的错误配置。

3.查找过时或废弃的端点。开发人员往往会忘记删除它们。

4.彻底测试所有参数,寻找注入漏洞、身份验证问题或 IDOR。

5.提交报告时附上明确的 POC,展示枚举步骤及其影响。


Swagger UI 错误配置的影响

Swagger UI 配置错误可能导致以下 严重的安全风险

信息泄露:敏感目录、凭据和服务器信息的泄露。

未经授权的访问:无需身份验证即可访问内部或管理员 API。

权限提升:隐藏端点允许执行关键操作。

服务中断:调试 API 暴露服务器漏洞。


总结

Swagger UI 对开发者来说是一个强大的工具,但一旦配置错误,也可能成为"双刃剑"。通过对 Swagger 文件的深入枚举,你可以发现隐藏的目录和端点,这些往往会导致高影响力的漏洞。


Swagger UI 列表

一份 独特的 Swagger UI 目录列表,可以直接在漏洞挖掘中使用。地址:https://github.com/hackersatty/Bug-Bounty/blob/Directory-Enumeration/swagger-directory-enumeration。

视频教程在我主页简介和专栏里

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关
相关推荐
暖馒9 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
QiZhang | UESTC9 小时前
学习日记day76
学习
久邦科技9 小时前
20个免费电子书下载网站,实现电子书自由(2025持续更新)
学习
Gain_chance10 小时前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip
失忆爆表症10 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
yunfuuwqi11 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔11 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
Gain_chance11 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
代码游侠11 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了11 小时前
6.库制作与原理
linux·服务器