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

0x1 前言

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

0x2 Swagger漏洞简介

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

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

  1. /actuator

  2. 查看有哪些 Actuator端点是开放的。

  3. /actuator/auditevent

  4. auditevents端点提供有关应用程序审计事件的信息。

  5. /actuator/beans

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

  7. /actuator/conditions

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

  9. /actuator/configprops

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

  11. /actuator/env

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

  13. /actuator/flyway

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

  15. /actuator/health

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

  17. /actuator/heapdump

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

  19. /actuator/httptrace

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

  21. /actuator/info

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

漏洞分析

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

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

0x3 资产收集

FOFA

FOFA检索Swagger相关站点

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

图片

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

图片

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

图片

鹰图

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

图片

0x4 工具篇

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

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

  1. python SpringBoot-Scan.py -u url

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

图片

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

FOFA语句:

 
  1. body="Whitelabel Error Page"

图片

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

图片

0x5 实战实例

泄露swagger文档

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

  1. swagger-resources

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

Swagger-UI插件

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

图片

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

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

图片

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

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

图片

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

图片

0x6 总结

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

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。


                
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值