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

admin 2024年8月15日16:12:36评论89 views字数 2186阅读7分17秒阅读模式

本文由掌控安全学院 -  Tobisec 投稿

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

0x1 前言

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

0x2 Swagger漏洞简介

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

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

下面是总结的常见的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 的值(会自动用*替换 keypasswordsecret 等关键字的 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"

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

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

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

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

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

鹰图

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

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

0x4 工具篇

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

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

  1. python SpringBoot-Scan.py -u url

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

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

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

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

FOFA语句:

  1. body="Whitelabel Error Page"

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

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

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

0x5 实战实例

泄露swagger文档

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

  1. swagger-resources

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

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

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

Swagger-UI插件

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

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

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

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

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

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

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

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

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

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

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

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

0x6 总结

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

原文始发于微信公众号(掌控安全EDU):针对Swagger接口泄露未授权的初探

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月15日16:12:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   针对Swagger接口泄露未授权的初探http://cn-sec.com/archives/3068629.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息