Springboot之Actuato介绍及漏洞

SpringBoot Actuator 提供了丰富的监控和管理功能,但配置不当可能导致安全漏洞,如用户认证信息泄露、数据库凭证暴露和源码获取。防范措施包括引入安全依赖、限制endpoint访问和设置独立管理端口。
摘要由CSDN通过智能技术生成

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: always
  endpoints:
    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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值