Spring Boot Actuator未授权内存分析方法

admin 2022年7月2日15:26:55安全文章评论6 views1751字阅读5分50秒阅读模式

欢迎转发,请勿抄袭

        Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息。

        未授权访问可以理解为需要授权才可以访问的页面由于错误的配置等其它原因,导致其它用户可以直接访问,从而引发各种敏感信息泄露。

如何识别使用了Springboot框架
1、查看ico图标(默认的情况下) 

Spring Boot Actuator未授权内存分析方法

2、通过报错信息

Spring Boot Actuator未授权内存分析方法
常见Spring Boot Actuator未授权访问
/dump - 显示线程转储(包括堆栈跟踪)
/autoconfig - 显示自动配置报告
/configprops - 显示配置属性
/trace - 显示最后几条HTTP消息(可能包含会话标识符)
/logfile - 输出日志文件的内容
/shutdown - 关闭应用程序
/info - 显示应用信息
/metrics - 显示当前应用的’指标’信息
/health - 显示应用程序的健康指标
/beans - 显示Spring Beans的完整列表
/mappings - 显示所有MVC控制器映射

/env - 提供对配置环境的访问

/heapdump - 转存堆文件

/restart - 重新启动应用程序
主要使用分析的文件heapdump文件

前期需要访问/env,来确定带星的信息,我们需要读取出来。

http://url/actuator/env
Spring Boot Actuator未授权内存分析方法
再次访问/heapdump文件
http://url/actuator/heapdump
得到一个heapdump的文件,使用java自带的软件jvisualvm进行分析。
C:Program FilesJavajdk1.8.0_231binjvisualvm.exe
常用分析方法:
一、去星,获取星号信息(适用于数据库密码、面板密码、wx.secret
1、载入堆文件
Spring Boot Actuator未授权内存分析方法
2、通过前面的env确定存在spring.datasource.password、spring.datasource.druid.stat-view-servlet.login-password等字段,可以构建OQL查询语句
select s from java.lang.String s where /查询字段/.test(s.value.toString())
3、可构建成如下
select s from java.lang.String s where /spring.datasource.druid.stat-view-servlet.login-password/.test(s.value.toString())
4、点击执行查询结果,出现实例

Spring Boot Actuator未授权内存分析方法

5、进入实例里面,即可找到带星的明文信息。
Spring Boot Actuator未授权内存分析方法
Spring Boot Actuator未授权内存分析方法
6、假如出现不存在的明文信息的状态下,如:

Spring Boot Actuator未授权内存分析方法

7、发现password相连处未发现明文密码,那么就得使用另外一条语句
select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
8、查询结果
Spring Boot Actuator未授权内存分析方法

Spring Boot Actuator未授权内存分析方法

二、分析shrio序列化KEY(适用于自定key)
1、通过访问站点,发现响应包或者请求包存在(remeberMe或者remeberme

Spring Boot Actuator未授权内存分析方法

2、下载heapdump文件,在类处过滤语句
org.apache.shiro.web.mgt.CookieRememberMeManager

Spring Boot Actuator未授权内存分析方法

3、点击展开,记录byte的值
Spring Boot Actuator未授权内存分析方法
4、使用脚本进行转换(将下面的x替换到相应的值)
import base64import structdata=struct.pack('<bbbbbbbbbbbbbbbb'-4011-57-123-373282,-51,5,x,x,-x,x,x,x,x)print(base64.b64encode(data))

5、编写完成之后,使用python执行,获得相关key

Spring Boot Actuator未授权内存分析方法

Spring Boot Actuator未授权内存分析方法
文章声明:该工具、教程仅供学习参考,请勿非法使用。否则与作者无关!

原文始发于微信公众号(yudays实验室):Spring Boot Actuator未授权内存分析方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月2日15:26:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Spring Boot Actuator未授权内存分析方法 http://cn-sec.com/archives/1151399.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: