Actuator 是 Spring Boot 提供的服务监控和管理中间件。当 Spring Boot 应用程序运行时,它会自动将多个端点注册到路由进程中。由于对这些端点的错误配置,就有可能导致一些系统信息泄露。其中heapdump作为Actuator组件最为危险的Web端点,heapdump因未授权访问被恶意人员获取后进行分析,可进一步获取敏感信息。

heapdump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况。heapdump文件是指定时刻的Java堆栈的快照,是一种镜像文件。

heapdump是诊断与JVM内存相关的问题的重要手段,例如:内存泄漏、垃圾回收问题和java.lang.OutOfMemoryError。同时也是优化内存消耗的重要手段。

当从抓取的数据包获得接口URL后

可探索/ Actuator/heapdump路径

下载heapdump文件

打开heapdump的方法

  1. 使用 heapdump_tool 敏感信息查询工具

    本质上是基于jhat,通过通过jhat解析heapdump文件,从而实现heapdump敏感信息搜索

    下载地址https://github.com/wyzxxz/heapdump_tool

    将下载的heapdump_tool.jar和要解析的heapdump文件与jhat.exe放在同一路径中

    本机路径:C:\Program Files\Java\jdk1.8.0_201\bin

    打开heapdump文件后可通过password关键字进行搜索

  2. 使用Java VisualVM工具

    本机路径:C:\Program Files\Java\jdk1.8.0_201\bin\ jvisualvm.exe

    双击打开,装入heapdump文件,如图2

切换到OQL控制台标签,Springboot heapdump端点存在版本差异,构建OQL语句进行关键字查询,从而获取明文密码。

Spring boot 1.x版本:select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
Spring boot 2.x版本:select s.value.toString() from java.util.LinkedHashMap$Entry s where /password/.test(s.key.toString())

Spring Boot Actuator未授权漏洞的更多相关文章

  1. Spring Boot Actuator未授权访问

    当我们发现某一个网页的logo是一篇叶子或者报错信息如下图所示的话,就可以尝试Spring Boot Actuator未授权访问. /dump - 显示线程转储(包括堆栈跟踪) /autoconfig ...

  2. Springboot之actuator未授权访问

    copy 子杰的哈,懒的写了 0x01  未授权访问可以理解为需要授权才可以访问的页面由于错误的配置等其他原因,导致其他用户可以直接访问,从而引发各种敏感信息泄露. 0x02 Spring Boot ...

  3. spring boot actuator专题

    spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的 ...

  4. Spring Boot Actuator 使用

    转载于:https://www.jianshu.com/p/af9738634a21 Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程 ...

  5. Spring Boot (九): 微服务应用监控 Spring Boot Actuator 详解

    1. 引言 在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就 ...

  6. Spring Boot Actuator监控使用详解

    在企业级应用中,学习了如何进行SpringBoot应用的功能开发,以及如何写单元测试.集成测试等还是不够的.在实际的软件开发中还需要:应用程序的监控和管理.SpringBoot的Actuator模块实 ...

  7. Spring Boot Actuator:健康检查、审计、统计和监控(转)

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  8. Spring Boot Actuator:介绍和使用

    Spring Boot Actuator提供一系列HTTP端点来暴露项目信息,用来监控和管理项目.在Maven中,可以添加以下依赖: <!-- Spring boot starter: actu ...

  9. Spring Boot Actuator H2 RCE复现

    0x00 前言 Spring Boot框架是最流行的基于Java的微服务框架之一,可帮助开发人员快速轻松地部署Java应用程序,加快开发过程.当Spring Boot Actuator配置不当可能造成 ...

  10. spring boot actuator扩展httptrace的记录

    SpringBoot记录HTTP请求日志 1.需求解读 需求: 框架需要记录每一个HTTP请求的信息,包括请求路径.请求参数.响应状态.返回参数.请求耗时等信息. 需求解读: Springboot框架 ...

随机推荐

  1. javaSE学习四

    Super /*super注意点: 1. super调用父类的构造方法,必须在构造方法的第一一个 2. super必须只能出现在子类的方法或者构造方法中! 3. super和this 不能同时调用构造 ...

  2. Mybatis的几种传参方式

    前言 单个参数 多个参数 使用索引[不推荐] 使用@Param 使用Map POJO[推荐] List传参 数组传参 总结 单个参数 单个参数的传参比较简单,可以是任意形式的,比如#{a}.#{b}或 ...

  3. SpringBoot 自定义启动的logo(即banner)

    1.自定义输出banner样式 推荐生成网站 http://patorjk.com/software/taag/ https://www.bootschool.net/ascii-art 2.配置 A ...

  4. 072_关于Dataloader导入Record的创建时间及修改时间并允许owner是Inactive

    1.在User interface 中 启用 Enable "Set Audit Fields upon Record Creation" and "Update Rec ...

  5. python关于函数超时异常处理

    import time import func_timeout from func_timeout import func_set_timeout def time_sleep(): time.sle ...

  6. tensorrt cuda cudnn 各版本的匹配要求

    https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-8.html#rel_8-0-3

  7. 导出PDF 空白赋值备份

    后台代码 //出货清单 @RequestMapping(params="getBusinessOutDetail") public void getBusinessOutDetai ...

  8. MATH1851 Calculus and ordinary differential equations

    课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self use, not included any assignments or exams 由于提前预习了 ...

  9. Cygwin64静默安装办法

    下载地址: http://www.cygwin.com/setup-x86_64.exe 静默安装办法: .\setup-x86_64.exe --no-shortcuts --root D:\\Cy ...

  10. springboot项目基于mybatis-plus创建逆向工程

    pom 依赖 <!--web 依赖--><dependency> <groupId>org.springframework.boot</groupId> ...