针对Swagger接口泄露未授权的初探

2024-11-26 90 0

0x1 前言

这篇文章呢主要是给师傅们分享下最近在学习的Swagger相关的漏洞,针对于Swagger接口未授权访问已经常见的敏感信息文件泄露的漏洞来给大家分享下。其中在挖企业src的是时候,其实在利用灯塔ARL在对其域名或者站点扫描时候,Swagger接口泄露的漏洞也是蛮常见的。

0x2 Swagger漏洞简介

Swagger 是一个用于设计、构建、文档化和使用RESTful 风格的 Web 服务的开源软件框架。它通过提供一个交互式文档页面,让开发者可以更方便地查看和测试API 接口。然而,在一些情况下,未经授权的访问可能会导致安全漏洞。

下面是总结的常见的Swagger接口泄露信息存在的位置:

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

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

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

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

/actuator/configprops
configprops端点提供有关应用程序<span class="label label-primary">@ConfigurationPropertiesbean?</span>??信息。

/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端点提供有关应用程序的一般信息。

漏洞分析

Swagger漏洞存在的原因主要是Swagger未开启页面访问限制,然后就是Swagger未开启严格的Authorize认证,就很容易导致攻击者找到该站点存在Swagger泄露接口的地址,然后通过Swagger-UI插件等一些工具进行敏感信息泄露利用。

注:Authorization是指根据用户提供的身份凭证,生成权限实体,并为之授予相应的权限。

0x3 资产收集

FOFA

FOFA检索Swagger相关站点

body="Swagger" && title=="Swagger UI"

还有可以看到很多的icon图标,特别是对某个icon图标要是打通一个点,很有可能就能利用其打一个通杀漏洞了

但是其中主要的还是Swagger的那个绿色图标的站点多

鹰图

web.body="Swagger"&&title=="Swagger UI"

0x4 工具篇

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

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

python SpringBoot-Scan.py -u url

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

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

FOFA语句:

body="Whitelabel Error Page"

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

0x5 实战实例

泄露swagger文档

这里我先是通过上面的spring-boot工具扫描泄露到泄露swagger接口如下,

swagger-resources

然后我们可以对泄露的接口进行分析,可以简单看下泄露了一些版本信息包括可以看到这个站点存在OSS储存桶,到时候可以去判断下有没有云安全OSS储存桶漏洞

Swagger-UI插件

师傅们可以在Google商店下载这个插件

然后使用该插件进行接口查看,后面利用bp打下未授权,因为里面的请求有POST和GET方式

下面找到一个接口可以获取用户的密码,先保存着

再使用里面的接口可以直接找到用户root

后来利用下面的Swagger接口看日志,然后找到了该日志里面的root管理员的登录后台的url

然后利用找到的root用户和开始找到的密码进行组合,成功登录到该管理员后台了

0x6 总结

对呀Swagger的相关漏洞的分享就到这里了,主要是对呀一些常见的接口的泄露进行一个判断,然后要是有条件的师傅可以买个云服务器然后使用灯塔ARL进行批量探测和扫描,在挖企业src的时候还是蛮有帮助的哈!

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


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

如何使用SkyScalpel在云环境中对JSON策略执行安全分析与处理
禅道命令注入(CVE-2024-24216)复现
WordPress-Umbrella插件本地文件包含漏洞复现(CVE-2024-12209)
浅谈src挖掘中——文件上传和XSS漏洞的组合拳
MACOBOX:一款针对硬件安全的多合一渗透测试工具箱
Matildapp:针对Web 3.0环境的网络安全与渗透测试框架

发布评论