【漏洞预警】Spring Boot Actuator未授权访问远程代码执行漏洞[转]

一、Spring Boot Actuator漏洞描述

  • 事件

2019年2月28日,阿里云云盾应急响应中心监测到有国外安全研究人员披露Spring Boot
Actuator模块中间件存在未授权访问远程代码执行漏洞。

  • 漏洞描述

Actuator是Spring Boot提供的服务监控和管理中间件,默认配置会出现接口未授权访问,部分接口会泄露网站流量信息和内存信息等,使用Jolokia库特性甚至可以远程执行任意代码,获取服务器权限。

  • 漏洞评级

严重

  • 影响版本

全版本且无安全配置

  • 安全建议

禁用所有接口,将配置改成:endpoints.enabled = false
或者引入spring-boot-starter-security依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

开启security功能,配置访问权限验证,类似配置如下:

management.port=8099
management.security.enabled=true
security.user.name=xxxxx
security.user.password=xxxxxx
  • 原文地址:https://bbs.aliyun.com/read/592982.html

二、基本原理

Spring Boot Framework包含许多称为执行器的功能,可帮助您在将Web应用程序投入生产时监视和管理Web应用程序。它们旨在用于审计,运行状况和指标收集,它们还可能在配置错误时打开服务器的隐藏门。

当Spring Boot应用程序运行时,它会自动将多个端点(例如’/ health’,’/ trace’,’/ beans’,’/ env’等)注册到路由进程中。对于Spring Boot 1 - 1.4,它们无需身份验证即可访问,从而导致严重的安全问题。从Spring 1.5版开始,默认情况下,除“/ health”和“/ info”之外的所有端点都被视为敏感和安全,但应用程序开发人员通常会禁用此安全性。

以下Actuator端点可能具有安全隐患,从而导致可能的漏洞:

  • /dump - 显示线程转储(包括堆栈跟踪)
  • /trace - 显示最后几条HTTP消息(可能包含会话标识符)
  • /logfile - 输出日志文件的内容
  • /shutdown - 关闭应用程序
  • /mappings - 显示所有MVC控制器映射
  • /env - 提供对配置环境的访问
  • /restart - 重新启动应用程序

对于Spring 1x,它们在根URL下注册,并且在2x中它们移动到“/actuator/”基本路径。

  • 备注

通过上述url可以获取部分关键信息,如/env客户获取应用的配置信息(数据库、kafka、redis等其他依赖项);/restart重启应用,如果淘宝暴露此漏洞,你可以重启淘宝应用,想想都可怕; /shutdown关闭应用,那还得了;/mappings 获取应用所有接口列表,对其进行攻击,致使接口无法正常使用;

  • 更多说明参考原文

作者:慕凌峰
链接:https://www.jianshu.com/p/3162ce30a853
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章