Spring Boot Actuator 可以帮助你监控和管理 Spring Boot 应用,比如健康检查、审计、统计和 HTTP 追踪等。所有的这些特性可以通过 JMX 或者 HTTP endpoints 来获得。Actuator 同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic 等。这些系统提供了非常好的仪表盘、图标、分析和告警等功能,使得你可以通过统一的接口轻松的监控和管理你的应用。Actuator 使用 Micrometer 来整合上面提到的外部应用监控系统。这使得只要通过非常小的配置就可以集成任何应用监控系统。

  <!--监控--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId><version>2.2.2.RELEASE</version></dependency>

使用 Actuator Endpoints 来监控应用

Actuator 创建了所谓的 endpoint 来暴露 HTTP 或者 JMX 来监控和管理应用。举个例子,有一个叫 / health 的 endpoint,提供了关于应用健康的基础信息。/metrics endpoints 展示了几个有用的度量信息,比如 JVM 内存使用情况、系统 CPU 使用情况、打开的文件等等。/loggers endpoint 展示了应用的日志和可以让你在运行时改变日志等级。值得注意的是,每一给 actuator endpoint 可以被显式的打开和关闭。此外,这些 endpoints 也需要通过 HTTP 或者 JMX 暴露出来,使得它们能被远程进入。

]

management:endpoint:health:show-details: alwaysendpoints:web:exposure:include: '*'

actuator 的配置不当漏洞,该怎么利用呢?笔者通过自身的踩坑经历,总结了如下几个点来尽可能最大化的利用该漏洞:

认证字段的获取以证明可影响其他用户;这个主要通过访问 / trace 路径获取用户认证字段信息,比如如下站点存在 actuator 配置不当漏洞,在其 trace 路径下,除了记录有基本的 HTTP 请求信息(时间戳、HTTP 头等),还有用户 token、cookie 字段:

trace 路径:

用户认证字段泄露:

通过替换 token 字段可获取其他用户的信息:

数据库账户密码泄露;由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以拿下 mysql、mangodb 数据库;这个主要通过 / env 路径获取这些服务的配置信息,比如如下站点存在 actuator 配置不当漏洞,通过其 / env 路径,可获得 mysql、mangodb 的用户名及密码:

mangodb 及 mysql 都可直连,此处以 mysql 为例:

该漏洞详情请见 https://dvpnet.io/info/detail/id/814,是笔者去年在 dvp 平台提交的一个漏洞。一旦数据库外连成功,漏洞分分钟高危变严重啊。

git 项目地址泄露;这个一般是在 / health 路径,比如如下站点,访问其 health 路径可探测到站点 git 项目地址:

直接访问 git 项目地址,可拿下源码:

后台用户账号密码泄露;这个一般是在 / heapdump 路径下,访问 / heapdump 路径,返回 GZip 压缩 hprof 堆转储文件。在 Android studio 打开,会泄露站点内存信息,很多时候会包含后台用户的账号密码(包含漏洞的图片暂时没得,大家记住思路就好了..),通过泄露的账号密码,然后进入后台一番轰炸也不错的。

安全措施

引入 security 依赖,打开安全限制并进行身份验证;同时设置单独的 Actuator 管理端口并配置不对外网开放。详情请见先知社区 https://xz.aliyun.com/t/2233


作者:hhcccchh

来源链接:

https://blog.csdn.net/hhcccchh/article/details/103928215/

Springboot之Actuato介绍及漏洞相关推荐

  1. Springboot之actuator配置不当漏洞(autoconfig、configprops、beans、dump、env、health、info、mappings、metrics、trace)

    前言 Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看.统计等.在 Actuator ...

  2. Springboot之Actuator信息泄露漏洞利用

    0x01 什么是Actuator Spring Boot Actuator 模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理Spring Boot 应用的模块.这个模块采集应 ...

  3. RMI、JNDI、LDAP介绍+log4j漏洞分析

    介绍 本篇主要介绍java的RMI.JNDI.LDAP,在后面会详细分析log4j的jndi注入原理. 什么是RMI RMI全称是Remote Method Invocatioon,也就是远程方法调用 ...

  4. SpringBoot核心注解介绍

    我们看一下SpringBoot核心注解的一个介绍,其实我们之前在SpringBoot当中呢,我们用过这些注解了,只是我们没有去说一下每个注解的详细含义,那么我们在这里把它补齐,我们打开我们的代码,我们 ...

  5. Springboot Actuator未授权访问漏洞复现

    更新时间:2022.07.20 微信公众号:乌鸦安全 1. 漏洞介绍 Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助监控和管理 ...

  6. SpringBoot全局配置文件介绍

    全局配置文件能够对一些默认配置值进行修改. Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/m ...

  7. 0day工具集(资源)介绍-0day漏洞利用原理(2)

    往期文章: 漏洞概述-0day漏洞利用原理(0)_luozhonghua2000的博客-CSDN博客 二进制概述-0day漏洞利用原理(1)_luozhonghua2000的博客-CSDN博客 上篇已 ...

  8. SpringBoot项目中解决Fortify漏洞Log Forging日志伪造

    欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 一.例子 下列 Web 应用程序代码会尝试从一个请求对象中读取整数值 ...

  9. Springboot之actuator配置不当漏洞RCE(jolokia)

    日穿扫描扫到一个spring boot actuator 可以看到有jolokia这个端点,再看下jolokia/list,存在type=MBeanFactory 关键字 可以使用jolokia-re ...

最新文章

  1. R.Java文件报错
  2. mysql在win服务器上安装linux_MySql数据安装Linux+Windows
  3. QuickPart : 用户控件包装器 for SharePoint 2007
  4. visionmaster视觉软件说明书_测试策略与软件需求层次
  5. win10系统安装Redis3.2.100
  6. inaflash什么意思中文_英文“flash”翻译成中文是什么意思?
  7. 用GD32替代STM32,是什么体验?
  8. Onew积极开拓国际市场,为全球用户提供全方位金融服务
  9. 【渝粤教育】国家开放大学2018年春季 0062-21T港台文学专题讲座 参考试题
  10. Amazon Personalize:帮助释放精益数字业务的高级推荐解决方案的功能
  11. 第12章[12.3] Ext JSGrid中的超链接列及其功能实现
  12. android仿新浪引导界面
  13. 凯立德地图导航2020年最新版车载_高精度地图会把自动驾驶带跑偏吗?
  14. python监控钉钉群消息_使用python对mysql主从进行监控,并调用钉钉发送报警信息...
  15. 2021大学计算机一级考试试题题库,2021年全国计算机等级考试一级试题及答案.pdf...
  16. 韦根通信c语言程序,韦根26通信的示例程序
  17. android直播sdk 美颜,美颜SDK,实时美颜滤镜SDK,直播美颜SDK开发服务
  18. C++Builder的基本功能
  19. Android FileOutputStream FileInputStream 读写问题记录
  20. 车辆、行人跟踪一网打尽,超轻量、多类别、小目标跟踪系统开源了!

热门文章

  1. 小菜鸟的python学习之路(3)
  2. 初二计算机简单动画,浙教版八年级下册信息技术:第七课《简单的动画补间动画》教案...
  3. MYSQL 悲观锁和乐观锁的理解与使用
  4. vue3 入门到进阶,如何学习?
  5. 软件技术栈导航(20221231)
  6. Java中List转换为Array与Array转换为List
  7. BootStrap使用笔记+案例
  8. 2022-04-06 动态界定图像HSV颜色范围
  9. uniapp 原生安卓开发插件(module),以及android环境本地调试(一)
  10. 详谈CMOS管工作原理及特点