0x00 前言

Springboot自带的Actuator 功能可以监控诸如mysql、mangodb等数据库。在目标站点存在有Springboot端点信息泄露的时候可以尝试利用获得数据库账号,这里记录下password字段被星号隐藏时,获取数据库密码的一种方式。

0x01 操作

有两个前提条件:

  • /env 获取全部环境属性。该端点可以访问。

  • /heapdump 返回 GZip 压缩 hprof 堆转储文件。该端点可以访问。

首先通过/env查看是否存在记录数据库信息。可以看到jdbc连接串和星号密码。用于判断是否记录了数据库密码。

image-20210603144132219

然后通过/heapdump下载hprof堆转储文件。这个样子里面是一个hprof格式的文件。

image-20210603144406981

image-20210603144435583

通过jdk中自带的jvisualvm.exe可以装入堆文件。通常在jdk中的bin目录中。

image-20210603144605644

装入即可看到类与实例对象,后续我们通过JDBC类找到数据库配置信息。

image-20210603144726367

这里我直接检索mysql和存在实例的类。通过查找找到名为

com.mysql.jdbc.JDBC4Connection的类。

image-20210603145153052

访问任意实例即可查到到user字段和password字段中的mysql的账号密码和连接串。

image-20210603145119739

image-20210603145254611