首页/安全/渗透测试与安全评估速查/Spring Boot Actuator 暴露检查
常见漏洞验证121 条

Spring Boot Actuator 暴露检查

Actuator 端点(env、heapdump、httptrace 等)未做鉴权时泄露配置与运行时信息;核查管理端口与端点暴露面。

Actuator 暴露为什么要检查

Spring Boot Actuator 提供的管理端点可以读取应用配置、环境变量、线程栈与堆转储,本意是给运维排查使用。问题出在端点未做鉴权或管理端口直接暴露在公网:外部访问即可拿到数据库连接信息、密钥与运行时数据。检查重点是管理端口的开放情况与各端点的鉴权状态,全部以只读方式核对。

基本信息

高危端点环境配置、堆转储、线程栈、Bean 列表、请求映射
检查对象管理端口是否对外开放、端点是否需要认证
访问方式只读访问并记录响应是否为敏感数据
基线参考通常只应暴露健康检查与基本信息端点
边界不下载堆转储与日志类大文件

典型使用场景

  • 核对生产环境管理端口是否与业务端口分离并限制来源
  • 确认端点清单是否沿用默认暴露策略
  • 检查自定义管理前缀导致的端点漏测
  • 评估历史遗留端点在版本升级后的暴露变化
  • 为整改提供端点收敛清单与访问控制建议

核查方式

核查方式
# 1. 核对应用端口与管理端口清单,识别管理基路径
# 2. 对授权范围内端点做只读访问,记录响应类型
curl -s https://target.example:8081/actuator | head
# 3. 逐个核对端点是否需要认证(重点看环境与映射类端点)
# 4. 不下载堆转储与日志类大文件,发现可访问即记录
# 5. 输出:端点清单、鉴权状态、敏感数据类型、修复建议

端点风险读法

端点类型可能泄露内容风险判断
环境与配置数据库连接串、密钥、外部服务地址高,可直接用于横向或数据访问
堆转储与线程栈内存中的凭据与业务数据高,且文件体积大不宜下载
请求映射与 Bean 列表内部接口清单与组件结构中高,为后续测试提供线索
健康检查与基本信息运行状态与应用版本低,属运维必需,建议保留并鉴权
修复视角:只暴露健康检查等必需端点,管理地址限制到内网并叠加认证,管理端口与业务端口分离。
不要下载堆转储、日志与配置类大文件做本地分析:读取行为本身会扩大数据暴露面。

易错点

  • 下载堆转储或日志文件做分析,扩大泄露面并留下数据副本
  • 只测默认管理前缀,漏掉自定义前缀下的端点
  • 把健康检查端点判为高危,未区分必需的运维端点
  • 测试管理端口时使用高并发枚举,触发应用重启或健康检查失败

数据来源与参考

  • Spring Boot Actuator 官方文档
  • CWE-200
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌