JavaMelody 未授权访问漏洞

JavaMelody 未授权访问漏洞

  • [1. 漏洞基础信息](#1. 漏洞基础信息)
  • [2. 漏洞影响范围](#2. 漏洞影响范围)
  • [3. 漏洞攻击手法](#3. 漏洞攻击手法)
  • [4. 漏洞修复](#4. 漏洞修复)
    • [4.1 生产环境禁用 JavaMelody](#4.1 生产环境禁用 JavaMelody)
    • [4.2 在 web.xml 中开启 BASIC 认证](#4.2 在 web.xml 中开启 BASIC 认证)

1. 漏洞基础信息

  • 漏洞名称:JavaMelody 监控页面未授权访问漏洞
  • 组件简介: JavaMelody 是一款开源的 Java 应用性能监控(APM)组件,广泛应用于 Java EE / Spring 等企业级应用中,用于在生产环境监控应用程序的运行状态。它能够提供 CPU、内存、SQL、HTTP 请求、Session、JVM、线程、缓存等多维度的运行时数据图表,以图形化方式辅助开发者快速定位性能瓶颈
  • 漏洞类型:未授权访问(CWE-285:Improper Authorization)
  • 漏洞本质: JavaMelody 默认不提供任何访问控制机制,开发者在集成时如果未配置权限校验(如 BASIC 认证、Spring Security、IP 白名单等),监控接口将处于完全公开状态,任意用户均可通过 /monitoring 路径访问监控数据

2. 漏洞影响范围

受影响版本:JavaMelody 全版本(默认配置下均存在此风险)

可能泄漏的内容包括:

  • 系统信息:操作系统、JVM 版本、主机名、CPU、内存、磁盘
    -HTTP 请求:请求 URL、参数、响应时间、错误日志
  • SQL 信息:执行过的 SQL 语句、参数、慢查询
  • Session:用户 SessionID、属性、登录用户名
  • 线程信息:线程堆栈、当前执行任务
  • 应用日志:系统报错堆栈、依赖类信息
  • MBean 数据:数据库连接池配置(可能含明文密码片段)、JNDI 信息

3. 漏洞攻击手法

利用 action 参数获取敏感数据,JavaMelody 监控页面通过 action 与 part 参数控制展示内容,攻击者可遍历常见 part 名称:

bash 复制代码
# 查看所有 HTTP 请求
GET /monitoring?part=httpSessions

# 查看会话详情(可能包含登录用户名)
GET /monitoring?part=sessions

# 查看线程堆栈
GET /monitoring?part=threads

# 查看 MBeans(可能泄露 JDBC URL、密码等)
GET /monitoring?part=mbeans

# 查看 JNDI 树
GET /monitoring?part=jndi

# 查看堆内存信息
GET /monitoring?part=heaphisto

# 查看进程信息
GET /monitoring?part=processes

# 下载完整数据快照
GET /monitoring?format=serialized

通过 ?part=sessions 接口拿到合法用户的 SessionID,将其写入浏览器 Cookie,可能会导致直接绕过登录访问受害者账户


4. 漏洞修复

4.1 生产环境禁用 JavaMelody

如果监控功能不再使用,建议在生产配置中关闭:

yaml 复制代码
javamelody:
  enabled: false

或在 pom.xml 中将 JavaMelody 依赖标记为 provided / 仅在测试环境集成

4.2 在 web.xml 中开启 BASIC 认证

xml 复制代码
<filter>
    <filter-name>monitoring</filter-name>
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
    <init-param>
        <param-name>authorized-users</param-name>
        <param-value>admin:StrongPassword@2024</param-value>
    </init-param>
</filter>
相关推荐
学逆向的19 小时前
C 枚举变量
c语言·开发语言·网络安全
QZ166560951591 天前
数据库监测的主动防御:实时感知,看见即掌控
网络·安全·网络安全
kingx31 天前
BugKu 渗透测试4 Writeup:从 eval 注入到五层内网拿满 Flag
人工智能·网络安全·网络攻击模型·安全威胁分析·1024程序员节
愤怒火龙果1 天前
AIShield 靶场 WP
人工智能·网络安全·1024程序员节
sbjdhjd1 天前
从黑板事实到长链路剪枝:AI 渗透测试 Agent 的实验、失效与改造
人工智能·网络安全·数据挖掘·php·agent·剪枝·1024程序员节
TechWayfarer2 天前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
终端安全笔记2 天前
一份配置管十项 AI 功能:它关的是入口,不是数据
网络安全·ios·移动设备管理
学逆向的2 天前
C 多文件开发
c语言·开发语言·网络安全
学逆向的2 天前
C 内存属性
c语言·开发语言·算法·网络安全
万联WANFLOW2 天前
让分散的设备像在同一张局域网里:企业组网技术解析
运维·网络·网络安全·智能路由器