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>
相关推荐
HackTwoHub5 小时前
AI大模型攻击思路,涵盖提示词劫持、知识库投毒、多语种混淆 + 身份伪装、诱导 AI 输出涉密后台核心配置
人工智能·安全·web安全·网络安全·自动化·系统安全·安全架构
Eastmount6 小时前
[论文阅读] (51)ESWA25 基于启发式优化器的入侵检测系统
论文阅读·网络安全·sci·入侵检测·eswa
白帽小阳6 小时前
Typora插件开发指南:打造专属IDE式写作环境
c语言·网络·python·网络安全·github·pygame·护网行动
Sagittarius_A*6 小时前
Web 渗透信息收集实战:站点指纹识别与目录扫描
网络安全·渗透测试·kali
m0_738120721 天前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php
其实防守也摸鱼2 天前
运维--怎么看接口的请求和返回
运维·学习·网络安全·网络攻击模型·burpsuite·攻防对抗·蓝队
菩提小狗2 天前
每日安全情报报告 · 2026-07-09
网络安全·漏洞·cve·安全情报·每日安全
数据知道2 天前
DNS 安全攻防:缓存投毒、DNS 隧道与检测实战
安全·网络安全·缓存·缓存投毒
其实防守也摸鱼3 天前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
学逆向的3 天前
汇编——数据存储模式
开发语言·汇编·网络安全