背景
漏洞名称:Spring Boot Actuator 未授权访问漏洞 风险等级:中
Actuator 是 Spring Boot 提供的自省和监控功能模块。开发者可借此查看、统计应用系统的监控指标。在 Actuator 启用的情况下,如果没有做好权限控制,非法用户可通过访问默认的执行器端点(endpoints)获取应用系统中的监控信息。
问题分析与复现
部署的微服务项目中,访问 http://ip:port/actuator 时未受到任何权限控制,直接暴露了 Actuator 的接口信息。应用在生产环境中暴露了潜在的敏感信息,存在较大的安全隐患。
通过浏览器或命令行工具(如 curl)可以访问下面的端点:
/actuator/health/actuator/env/actuator/info- ...
这些端点中,env 和 health(开启详细信息时)可能泄露系统环境变量、配置属性、数据库连接信息等敏感数据。
解决方法
1. 更改初始配置的 3 种方式
漏洞扫描时项目初始配置如下:
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
浏览器访问或使用 curl -i http://ip:port/actuator 请求,会返回敏感数据。
1.1 开放指定端点,显示简略信息
调整配置如下:
management.endpoints.web.exposure.include=health,info
management.endpoint.health.show-details=never
改成这个后浏览器可以直接访问,访问结果如图所示。

敏感的环境信息没有返回,/actuator 返回的是导航菜单,/actuator/health 返回服务是否存活,所以基本可以确认安全了。
show-details 控制接口内容返回详细程度,有三个可选值:
| 可选值 | 含义 | 返回内容 | 安全性 | 适用场景 |
|---|---|---|---|---|




