从springboot未授权访问到接管百万级数据库

admin 2025年4月15日14:16:04评论0 views字数 1972阅读6分34秒阅读模式
本文由掌控安全学院 - 我会发着呆 投稿

 

前言

本篇文章主要内容是某大学站点存在springboot actuator 未授权访问,通过后续利用接管百万级数据库。

声明:本篇文章漏洞目前已修复,关键信息已打码,本文中技术和方法仅用于教育目的,切勿用于违法途径。

0x1 信息收集

通过信息收集找到了某大学的一个比较边缘的资产(问就是正常资产挖不出洞),一个自考平台

从springboot未授权访问到接管百万级数据库

这里直接讲本次漏洞的利用过程,这里先使用FindSomething 识别一下目录和敏感信息,这里发现还是存在不少目录的

从springboot未授权访问到接管百万级数据库

针对检测出来比较多的目录,我们可以点击右上角的复制按钮,将检测出来的目录全部复制下来,然后进入 bp,对网站进行抓包,右键发送到 Intruder 模块,在路径处添加变量,在 payload 处粘贴刚刚复制的路径,然后将 URL 编码字符取消勾选,然后就可以开始爆破了

从springboot未授权访问到接管百万级数据库
从springboot未授权访问到接管百万级数据库

爆破完成后,主要是观察响应的状态码、长度和注释,这里看到没有什么敏感信息泄露,但是发现了一个长度稍微不同的数据包,直接复制进浏览器访问,发现了一个报错页面(那很熟悉了),出现了这个报错,意味着网站很可能使用了 springboot 框架

从springboot未授权访问到接管百万级数据库

针对springboot 框架的识别,还可以查看网页标签的图标(favicon.ico)。如果开发者没有修改Spring Boot web应用的默认图标,那么你可以在应用首页看到默认的绿色小图标

从springboot未授权访问到接管百万级数据库

0x2 漏洞挖掘

既然发现了网站可能使用了 springboot 框架,那么 springboot 框架的经典漏洞未授权访问肯定是我们重点测试的目标,针对springboot 未授权访问的测试,这里推荐我经常使用一个工具:springboot-scan,这个工具可以扫描Spring Boot的敏感信息泄露端点,并可以直接测试Spring的相关漏洞,当然也可以使用 bp 上的一些自动化检测插件:springscan 等进行测试。

从springboot未授权访问到接管百万级数据库

经过工具扫描,发现网站存在 springboot Actuator 未授权访问,直接拼接目录进行访问,下面给出了springboot Actuator常见接口的说明。

Http
路径
描述
get
/autoconfig
提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
get
/configprops
描述配置属性(包含默认值)如何注入 Bean
get
/beans
描述应用程序上下文里全部的 Bean,以及它们的关系
get
/dump
获取线程活动的快照
get
/env
获取全部环境属性
get
/env/{name}
根据名称获取特定的环境属性值
get
/health
报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供
get
/info
获取应用程序的定制信息,这些信息由 info 打头的属性提供
get
/mappings
描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系
get
/metrics
报告各种应用程序度量信息,比如内存用量和 HTTP 请求计数
get
/metrics/{name}
报告指定名称的应用程序度量值
post
/shutdown
关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true(默认为 false)
get
/trace
提供基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等)
get
/heapdump
获取正在运行的JVM的堆转储

经过查看,基本上springboot Actuator常见端点都在,泄露了大量的敏感信息,这里我们主要对/heapdump 进行分析,访问 heapdump 端点会下载返回的 GZip 压缩堆转储文件,可使用 Eclipse MemoryAnalyzer 加载,通过站点泄露的内存信息,有机会得到后台账号信息和数据库账号等,这里我们访问接口进行下载,然后使用工具heapdump_tool 对 heapdump 文件进行解析,解析完成后,可以搜索一些关键字,例如:username、password、geturl、shirokey 等,这里通过 geturl 获取到了网站存在 nacos 系统,通过username、password 获取到了 nacos 的用户名和密码

从springboot未授权访问到接管百万级数据库

直接接管了 nacos

从springboot未授权访问到接管百万级数据库

存在大量的敏感信息,例如支付宝微信支付的 key,最重要的是,泄露了数据库的地址和用户名密码(那很爽了),直接连接到数据库,泄露了站点开发公司和所有学校的数据,达到百万级,打完收工。(数据太过敏感,原谅厚马)

从springboot未授权访问到接管百万级数据库

总结

springboot 未授权访问漏洞还是比较常见的,通过进行更加细致全面的利用,可以将未授权访问的危害扩大到更高的危害等级。

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

从springboot未授权访问到接管百万级数据库

 

原文始发于微信公众号(掌控安全EDU):从springboot未授权访问到接管百万级数据库

 

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

发表评论

匿名网友 填写信息