Springboot 数据库信息泄露查找手记
2021-10-21 16:01:02
0x00 前言
Springboot自带的Actuator 功能可以监控诸如mysql、mangodb等数据库。在目标站点存在有Springboot端点信息泄露的时候可以尝试利用获得数据库账号,这里记录下password字段被星号隐藏时,获取数据库密码的一种方式。
0x01 操作
有两个前提条件:
/env
获取全部环境属性。该端点可以访问。/heapdump
返回 GZip 压缩 hprof 堆转储文件。该端点可以访问。
首先通过/env
查看是否存在记录数据库信息。可以看到jdbc连接串和星号密码。用于判断是否记录了数据库密码。
然后通过/heapdump
下载hprof堆转储文件。这个样子里面是一个hprof格式的文件。
通过jdk中自带的jvisualvm.exe可以装入堆文件。通常在jdk中的bin目录中。
装入即可看到类与实例对象,后续我们通过JDBC类找到数据库配置信息。
这里我直接检索mysql和存在实例的类。通过查找找到名为
com.mysql.jdbc.JDBC4Connection的类。
访问任意实例即可查到到user字段和password字段中的mysql的账号密码和连接串。