匿名用户

这个人很神秘,什么信息也没有

关闭
bx
2025-06-09
点 赞
1
热 度
7
评 论
1

Swagger泄露利用

文章摘要

Bpple-bot

Swagger泄露利用

在实战中,也是经常遇见这种 Swagger 泄露出来的

这里记录一下初步思路

简单了解一下

API Documentation & Design Tools for Teams | Swagger

Swagger 是一套开源工具和规范,用于设计、构建、记录和测试 RESTful API。它的目标是让 API 的文档编写与实现过程自动化、标准化。

Swagger UI

是 Swagger 工具中最常用、最直观的组件。

  • 一个自动生成的、交互式 API 文档网页。
  • 我们可以在网页上直接****查看接口定义、测试 API 调用(支持填写参数、发送请求)。
  • 一般路径是:
 http://<ip>:<port>/swagger-ui.html
   或
 http://<ip>:<port>/swagger/index.html
 
 
   主要路径如下
 /v1/api-docs
 /api
 /api-docs
 /api-docs/swagger.json
 /api.html
 /api/api-docs
 /api/apidocs
 /api/doc
 /api/swagger
 /api/swagger-ui
 /api/swagger-ui.html
 /api/swagger-ui.html/
 /api/swagger-ui.json
 /api/swagger.json
 /api/swagger/
 /api/swagger/ui
 /api/swagger/ui/
 /api/swaggerui
 /api/swaggerui/
 /api/v1/
 /api/v1/api-docs
 /api/v1/apidocs
 /api/v1/swagger
 /api/v1/swagger-ui
 /api/v1/swagger-ui.html
 /api/v1/swagger-ui.json
 /api/v1/swagger.json
 /api/v1/swagger/
 /api/v2
 /api/v2/api-docs
 /api/v2/apidocs
 /api/v2/swagger
 /api/v2/swagger-ui
 /api/v2/swagger-ui.html
 /api/v2/swagger-ui.json
 /api/v2/swagger.json
 /api/v2/swagger/
 /api/v3
 /apidocs
 /apidocs/swagger.json
 /doc.html
 /docs/
 /druid/index.html
 /graphql
 /libs/swaggerui
 /libs/swaggerui/
 /spring-security-oauth-resource/swagger-ui.html
 /spring-security-rest/api/swagger-ui.html
 /sw/swagger-ui.html
 /swagger
 /swagger-resources
 /swagger-resources/configuration/security
 /swagger-resources/configuration/security/
 /swagger-resources/configuration/ui
 /swagger-resources/configuration/ui/
 /swagger-ui
 /swagger-ui.html
 /swagger-ui.html#/api-memory-controller
 /swagger-ui.html/
 /swagger-ui.json
 /swagger-ui/swagger.json
 /swagger.json
 /swagger.yml
 /swagger/
 /swagger/index.html
 /swagger/static/index.html
 /swagger/swagger-ui.html
 /swagger/ui/
 /Swagger/ui/index
 /swagger/ui/index
 /swagger/v1/swagger.json
 /swagger/v2/swagger.json
 /template/swagger-ui.html
 /user/swagger-ui.html
 /user/swagger-ui.html/
 /v1.x/swagger-ui.html
 /v1/api-docs
 /v1/swagger.json
 /v2/api-docs
 /v3/api-docs

挖掘思路

Swagger-UI如下

利用 fofa 等引擎中可以找到相应的服务,具体查询语句如下

 title="Swagger UI" || body="swagger-ui"
 
 (title="Swagger UI" || body="swagger-ui") && country="CN" && region="上海"

我们发现的 Swagger-ui

可以进行一些接口操作,如下可以进行登录操作,如果 Swagger 没有强制认证的话,我们可以直接在 UI 界面手动去发一些包

一般就是去找未授权,看看有没有返回一些敏感信息

swagger.json

有时候发现其实没有 Swagger-ui,只有一个 json文件

**不管有没有,我们都可以可以导入 **apifox 或者 postman,这样审接口什么,看参数什么的方便一点

可以发现把相应接口整合管理

效果如下,

与之对应,json 原格式如下

工具---swagger-hack

自动化去带相应参数发包

swagger-hack

 python .\swagger-hack2.0.py -u "...."

会输出生成一个 csv 文件,可以查看每次请求回显内容,

最主要的就是要利用这种接口文档

去挖掘未授权操作

或者说去找到存在的敏感信息

代理结合 xray 扫描

这个是由于当时查资料的时候

看到一个经验贴

复现一下整体思路

:::info 这里采用

Yakit 结合 Apifox

bp 什么的都一样,多配一步,把流量转发给 xray 扫描就行

:::

先是在 Apifox 设置自定义代理,跟抓包代理端口一样就行

可以发个快捷包测试一下

成功接收

启动 Xray,这里监听 7777 端口

 xray.exe webscan --listen 127.0.0.1:7777 --html-output zbb.html

**这里是将结果保存在 **zbb.html 中了

Yakit 中设置一个下游代理

把 Apifox 的流量转发到 Xray,让他进行被动扫描

这里可以测试一下是否流量通了

还是一样快捷请求发个包

OK了

然后跑 runner,

自动化测试

这种配置完成之后的话,就是利用 postman 和 apifox 的自动化测试,结合 xray 扫描跑一跑,看看有什么可以利用或者敏感信息泄露的

这种方法感觉还是比较全面的

防御措施

就是禁止将 Swagger 这种服务暴露在公网上

措施 说明
关闭生产环境中的 Swagger 在生产环境禁用 Swagger UI 或 API 文档服务。
设置身份认证访问 使用 JWT、Basic Auth、IP 白名单等限制访问 Swagger 页面。
仅允许内网访问 Swagger UI 页面通过防火墙或反向代理限制,只能从内网或特定 IP 访问。

用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

bx

enfp 竞选者

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到Bx的站点,为您导航全站动态

4 文章数
1 分类数
1 评论数
1标签数
最近评论
bx

bx


😍

热门文章

LitCTF2025-WP

2025-06-05

16
Swagger泄露利用

2025-06-09

7
D^3CTF2025

2025-06-09

2

访问统计