freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

针对Swagger接口泄露未授权访问的各种姿势
routing 2025-03-01 09:17:52 84208
所属地 江西省

0x1 前言

这篇文章的话主要是给师傅们分享下Swagger接口泄露包括未授权访问然后导致信息泄露相关的一些常见姿势。然后先从Swagger漏洞的相关简介,再到相关使用的插件包括工具等的使用,然后再从实战中的案例进行解析和讲解。

0x2 漏洞描述

swagger接口泄露

某公司平台系统存在敏感信息泄露漏洞,由于对swagger-ui未做好访问控制措施,导致攻击者可以通过swagger页面获取网站API信息,进而导致攻击者构造payload对系统API进行攻击。

20240728145537-65073072-4cae-1.png

浅谈

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

相关的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger-UI会根据开发人员在代码中的设置来自动生成API说明文档,若存在相关的配置缺陷,攻击者可以未授权翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。

Swagger 未授权访问地址存在以下默认路径:

下面的路径就是常见的Swagger 未授权访问泄露路径,师傅们可以通过bp抓包,然后再通过bp对该接口路径进行爆破,但是我一般是先使用曾哥的一款spring-boot扫描工具去做一个自动化扫描,但是有部分网站可能对那个工具会拒绝请求,所以还是可以尝试使用bp爆破

/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

0x3 工具篇

上面我也给师傅们介绍了使用工具对Swagger 接口泄露进行一个扫描,下面给师傅们介绍下使用曾哥的spring-boot漏洞扫描工具进行一个接口泄露的扫描。

https://github.com/AabyssZG/SpringBoot-Scan

python SpringBoot-Scan.py -u url

20240728145633-8687718a-4cae-1.png

Swagger 也是spring二次开发的产品,所以一般找Swagger 接口信息泄露的漏洞可以去找spring-boot经典报错的页面,下面就是经典的spring-boot报错页面:

20240728150118-3028decc-4caf-1.png

对于这样的大批量的测试的话,可以使用FOFA检索语句,就对上面的一个关键字进行检索

FOFA语句:

body="Whitelabel Error Page"

20240728150135-3a636416-4caf-1.png

可以看到里面的icon数量非常多,

20240728150146-40cc2748-4caf-1.png

0x4 Swagger漏洞猎杀

加密的Swagger

首先一般大家分享Swagger泄露接口敏感信息,一般都是在Swagger-UI这个插件里面分析

我这里以Google商店的插件为例,然后火狐和eg浏览器的话也差不多都是这个绿色的小图标

https://chromewebstore.google.com/detail/liacakmdhalagfjlfdofigfoiocghoej?hl=zh

20240728150204-4bca1808-4caf-1.png

然后可以看下我下面通过FOFA找到的一个Swagger接口泄露的一个站点,然后利用这个插件去打开

20240728150216-52bf7ed2-4caf-1.png

但是这个插件可以看到Authorize关键字,这个你可以点击下,这个标识就是表示这个泄露的 接口需要我们输入加密的信息,要是按照正常的直接访问这个泄露的api接口,然后看敏感信息就不可行了,下面我来带大家使用一个Swagger脚本工具来给师傅们演示下

20240728150231-5c12d90c-4caf-1.png

首先我们先访问下这个泄露的swagger/v1/swagger.json文件目录

20240728150243-63083252-4caf-1.png

然后可以在json文件看到里面有非常多的api接口泄露,但是太多了很多都是没有权限访问的,要是挨个拼接不太现实,那么下面我就给师傅们介绍下面下面的这款swagger工具

20240728150257-6b4654e4-4caf-1.png

swagger-hack工具

简介:自动化爬取并自动测试所有swagger接口

https://github.com/jayus0821/swagger-hack

20240728150316-76ad0a62-4caf-1.png

直接使用这个工具进行扫描,扫描完成后目录下会有一个swagger.csv文档,我们可以在里面找信息泄露的接口

python3 swagger-hack2.0.py -u ip地址

20240728150328-7df56e40-4caf-1.png

20240728150336-829fbd74-4caf-1.png

然后可以在里面找泄露的接口信息

20240728150348-89b5efd4-4caf-1.png

/actuator目录接口下面有非常多的接口信息泄露,什么env、log日志信息、heapdump信息

20240728150401-914278ee-4caf-1.png

0x5 Spring-Boot接口信息泄露

从上面分析的Swagger接口泄露来看,师傅们是不是可以看到在分析Swagger的时候常常碰到Spring-Boot的经典报错页面,然后再通过接口进行拼接,发现也存在很多的api接口敏感信息泄露。

所以下面我再给师傅们分享下下面常见的Spring-Boot泄露的接口以及利用接口找到敏感信息扩大rank值 的方法

/actuator
查看有哪些 Actuator端点是开放的。

/actuator/auditevent
auditevents端点提供有关应用程序审计事件的信息。

/actuator/beans
beans端点提供有关应用程序 bean 的信息。

/actuator/conditions
conditions端点提供有关配置和自动配置类条件评估的信息。

/actuator/configprops
configprops端点提供有关应用程序@ConfigurationPropertiesbean的信息。

/actuator/env 
查看全部环境属性,可以看到 SpringBoot 载入哪些 properties,以及 properties 的值(会自动用*替换 key、password、secret 等关键字的 properties 的值)。

/actuator/flyway
flyway端点提供有关 Flyway 执行的数据库迁移的信息。

/actuator/health 
端点提供有关应用程序运行状况的health详细信息。

/actuator/heapdump
heapdump端点提供来自应用程序 JVM 的堆转储。(通过分析查看/env端点被*号替换到数据的具体值。)

/actuator/httptrace
httptrace端点提供有关 HTTP 请求-响应交换的信息。(包括用户HTTP请求的Cookie数据,会造成Cookie泄露等)。

/actuator/info
info端点提供有关应用程序的一般信息。

/actuator接口下面经常会有信息泄露

20240728150420-9ca62faa-4caf-1.png

/actuator/info泄露版本信息

20240728150432-a3a5da30-4caf-1.png

/actuator/env目录账号密码泄露

20240728150445-abaebc6a-4caf-1.png

20240728150452-afcedeba-4caf-1.png

访问/actuator/loggers获取服务器的日志级别

20240728150504-b6de2346-4caf-1.png

访问/heapdump或者/actuator/heapdump

Heap Dump也叫堆转储文件,是一个Java进程在某个时间点上的内存快照

其中可能会含有敏感数据,如数据库的密码明文等

直接访问路径会返回一个GZip压缩的JVM堆dump,其中是jvm heap信息。下载的heapdump文件大小通常在 50M—500M 之间,有时候也可能会大于 2G

20240728150517-beabbb92-4caf-1.png

0x6 总结

上面给师傅们分享的都是这几天的收获,然后前面的简介包括对于Swagger接口泄露和未授权也是解释方面也是蛮细的,也蛮适合新手宝宝看的文章,也是希望这篇文章对看的师傅们有些帮助哈!

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!

# 资讯 # web安全 # 数据安全 # 企业安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 routing 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
神农安全
routing LV.4
一个不知名的白帽子
  • 29 文章数
  • 61 关注者
针对若依系统nday的常见各种姿势
2025-03-01
实战 | 微信小程序EDUSRC渗透漏洞复盘
2025-02-08
分享Fastjson反序列化漏洞原理+漏洞复现+实战案例+POC收集
2025-01-07
文章目录