关于SpringBoot Actuator漏洞补救方案

 更新时间:2023年06月27日 11:32:37   作者:㞢㤫巉寙  
SpringBoot Actuator模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理SpringBoot应用的模块,本文将主要介绍SpringBoot Actuator漏洞的补救方案,需要的朋友可以参考下

Spring Boot Actuator

Spring Boot Actuator 提供了项目的健康检查,审计,指标收集,HTTP 跟踪等,是帮助项目监控和管理Spring Boot 应用的模块。
这个模块采集应用的内部信息,展现给外部模块,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、
系统环境变量的配置信息以及      Web请求的详细信息等,这也是导致有泄露信息安全隐患的原因。如果没有正确使用Actuator,
可能造成信息泄露等严重的安全隐患(外部人员非授权访问Actuator端点)。其中heapdump作为Actuator组件最为危险的Web端点,
heapdump因未授权访问被恶意人员获取后进行分析,可进一步获取敏感信息。  SpringBoot 1.x 和 2.x 的 Actuator模块设置有差别,
访问功能的路径也有差别,但现在多使用的SpringBoot版本为2.x,这篇文章只讲SpringBoo 2.x Actuator模块带来的信息泄露。

漏洞自查

在浏览器中范围于http://192.168.0.119:81/dev-api/actuator(http://IP:端口/actuator),如下图

几个漏洞属于配置不当引起路由暴露。

1.读取用户的认证字段获取敏感信息

可以直接尝试访问网站目录下的/trace 路径,读取用户认证字段信息,比如在trace 路径下,会有用户的敏感信息,可能包括authorization(token、JWT、cookie)等字段,那么就可以利用泄露的认证信息,登陆自己的账户后,替换JWT,token 字段继续获取其他用户的信息,这些信息足以影响其他用户,

2.数据库账户密码泄露

Actuator作为Spring Boot提供的对应用系统的监控和管理的集成,会监控mysql之类的数据库服务,那么通过监控信息有可能拿下 数据库;直接通过访问其/env 路径获取数据库配置信息,比如数据库的用户名及密码

3.外带明文

直接访问/actuator/,/actuator/env这些执行器端点路径,可能会看到大量接口和敏感信息,如mysgl安装路径等等,脱敏之后的password等待。

4.heapdump后台账号密码

尝试访问网站的/actuator/heapdump接口,下载返回的GZip 压缩 堆转储文件,使用通过VisualVM/Android studio 加载,通过泄露站点的内存信息,查看到后台账号信息和数据库账号

5.git 项目地址的泄露

一般在在/health 路径,比如直接去访问项目的 health 路径,可探测到站点 git 项目地址,查看源码;

处理漏洞

解决方法:

在网关iff-gateway项目nacos相关的配置文件中,新增如下配置,重启iff-gateway项目:

management:
  endpoints:
    web:
      exposure:
        include: "*"
        exclude: env,health
    enabled-by-default: false

重启gateway

启动成功后再浏览器中在访问http://192.168.0.119:81/dev-api/actuator(http://IP:端口/actuator)

以上漏洞已解决。

到此这篇关于关于SpringBoot Actuator漏洞补救方案的文章就介绍到这了,更多相关SpringBoot Actuator内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java多线程 原子操作类详细

    Java多线程 原子操作类详细

    这篇文章主要介绍了Java多线程中的原子操作类,原子的本意是不能被分割的粒子,而对于一个操作来说,如果它是不可被中断的一个或者一组操作,那么他就是原子操作。显然,原子操作是安全的,因为它不会被打断,需要的朋友可以参考下
    2021-10-10
  • java读写二进制文件的解决方法

    java读写二进制文件的解决方法

    本篇文章是对java读写二进制文件的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Spring Boot集成Druid数据库连接池

    Spring Boot集成Druid数据库连接池

    这篇文章主要介绍了Spring Boot集成Druid数据库连接池,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 解决IDEA2020.2插件lombok报错问题(亲测有效)

    解决IDEA2020.2插件lombok报错问题(亲测有效)

    这篇文章主要介绍了解决IDEA2020.2插件lombok报错问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 基于JavaMail的Java实现简单邮件发送功能

    基于JavaMail的Java实现简单邮件发送功能

    这篇文章主要为大家详细介绍了基于JavaMail的Java实现简单邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Javaweb获取表单数据的多种方式

    Javaweb获取表单数据的多种方式

    这篇文章主要为大家详细介绍了Javaweb获取表单数据的多种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 一文吃透消息队列RocketMQ实现消费幂等原理

    一文吃透消息队列RocketMQ实现消费幂等原理

    这篇文章主要介绍了消息队列RocketMQ实现消费幂等的全面讲解,帮助大家吃透RocketMQ消息队列消费幂等,更好的的应用与工作实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • java求数组最大值和最小数示例分享

    java求数组最大值和最小数示例分享

    这篇文章主要介绍了java求数组最大值和最小数示例,需要的朋友可以参考下
    2014-03-03
  • Java设计模式中的策略模式详细解析

    Java设计模式中的策略模式详细解析

    这篇文章主要介绍了Java设计模式中的策略模式详细解析,所谓策略模式,指的是做某一件事时有多种选择(即策略),且不同的策略之间相互独立,而且无论使用哪种策略,得到的结果都是相同的,需要的朋友可以参考下
    2023-12-12
  • java中的空指针异常情况以及解决方案

    java中的空指针异常情况以及解决方案

    这篇文章主要介绍了java中的空指针异常情况以及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论