MikroTik RouterOS v7.0以下版本UserManager反射型XSS漏洞分析

本文详细分析了MikroTik RouterOS v7.0以下版本UserManagerWeb界面中存在的反射型跨站脚本漏洞,包括漏洞原理、利用方法、影响范围和缓解措施,涉及具体的Payload构造和绕过技术。

MikroTik RouterOS < v7.0 - UserManager中的反射型XSS漏洞

风险等级: 中等
本地利用:
远程利用:
CVE:
CWE:

漏洞概述

在MikroTik RouterOS v7.0以下版本中,UserManager Web界面存在一个反射型跨站脚本(XSS)漏洞。未经身份验证的攻击者可以通过特制URL注入JavaScript代码,无需有效的登录会话即可利用此漏洞。

受影响版本

  • 所有v7.0之前的版本
  • 测试环境包括:
    • RB1100AHx4 (v6.48.2)
    • RB750GL (v6.39)
    • CCR1009-8G-1S-1S+ (v6.41)
    • x86 (v5.20, v6.49.18)

技术细节

分析/userman页面源代码时发现,应用程序试图通过丢弃双斜杠(//)后的任何内容来缓解输入。然而,通过重复Payload并精心构造,可以绕过此行为,在浏览器上下文中执行JavaScript。

漏洞端点

1
http://<路由器IP>/userman/',true);alert('XSS');//',true);alert('XSS');//

概念验证(PoC)

Payload:

1
http://192.168.88.1/userman/',true);alert('XSS');//',true);alert('XSS');//

复现步骤

  1. 在未登录的情况下在浏览器中打开目标RouterOS UserManager URL
  2. 检查页面源代码并识别反射输入行为
  3. 注意系统会剥离//之后的内容
  4. 构造重复恶意代码的Payload以绕过过滤
  5. 当Payload执行时,会触发警告框,证明XSS漏洞存在

影响范围

  • 无需认证即可执行JavaScript
  • 可能用于网络钓鱼或重定向攻击
  • 可作为社会工程学攻击链的一部分欺骗管理员或用户

缓解措施

  • 使用上下文感知编码(如htmlspecialchars())对所有用户输入进行清理
  • 实施内容安全策略(CSP)
  • 避免在HTML或JavaScript上下文中反映未清理的GET参数
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计