MikroTik RouterOS < v7.0 - UserManager 中的反射型 XSS 漏洞
风险等级: 中等 本地利用: 否 远程利用: 是 CVE: N/A CWE: N/A 发现者: Ahmed Mutaher (YE) 日期: 2025年7月7日
漏洞概述
在 MikroTik RouterOS v7.0 之前的所有版本中,其 UserManager Web 界面存在一个反射型跨站脚本(XSS)漏洞。未经身份验证的攻击者可以利用此漏洞,通过特制的 URL 注入 JavaScript 代码,而无需有效的登录会话。
技术细节
在分析 /userman 页面的源代码时发现,应用程序试图通过丢弃双斜杠 (//) 之后的内容来缓解输入风险。然而,通过重复载荷并精心构造,可以绕过此行为,从而在浏览器上下文中执行 JavaScript。
受影响的版本
所有 v7.0 之前的版本。 测试环境包括:
- RB1100AHx4 (v6.48.2)
- RB750GL (v6.39)
- CCR1009-8G-1S-1S+ (v6.41)
- x86 (v5.20, v6.49.18)
漏洞利用端点
|
|
概念验证 (PoC)
载荷示例:
|
|
重现步骤
- 在未登录的情况下,在浏览器中打开目标 RouterOS UserManager 的 URL。
- 检查页面源代码,观察输入的反射行为。
- 注意到系统会剥离
//之后的内容。 - 构造重复恶意代码的载荷以绕过过滤。
- 当载荷执行时,会触发一个警告框,证明 XSS 漏洞存在。
影响
- 无需认证即可执行 JavaScript。
- 可能用于钓鱼或重定向攻击。
- 可作为社会工程攻击链的一部分,欺骗管理员或用户。
缓解措施
- 使用上下文感知编码(如
htmlspecialchars())对所有用户输入进行清理。 - 实施内容安全策略 (CSP)。
- 避免在 HTML 或 JavaScript 上下文中直接反射未经清理的 GET 参数。