CVE-2025-63713CVE-2025-63713是SourceCodester开发的MatchMaster 1.0版本中的一个中危跨站脚本(XSS)漏洞,CVSS评分为6.1。该漏洞存在于应用程序的自定义测试创建功能中,攻击者可以通过在测试标题和配对项目条目中注入恶意脚本来利用此漏洞。当用户在浏览器中执行这些测试时,未经消毒的用户输入将被直接渲染到DOM中,导致恶意JavaScript代码在受害者浏览器中执行。
MatchMaster是一个基于HTML、CSS和JavaScript开发的匹配类型测试应用,允许用户创建和管理各种测试题目。由于应用程序在处理用户输入时缺乏适当的输入验证和输出编码,攻击者可以利用此漏洞窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或植入恶意重定向。
该漏洞的威胁程度为中等,主要因为其利用需要用户交互(UI:R),攻击者需要诱导受害者访问特制链接或提交包含恶意payload的测试数据。然而,一旦成功利用,攻击者可以在受害者浏览器上下文中执行任意JavaScript代码,从而获取敏感信息或执行未授权操作。
该漏洞于2025年11月7日被披露,CVSS向量为CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N,表明攻击复杂度低,无需认证即可发起攻击,但需要用户交互才能完成攻击链。
该XSS漏洞的根本原因在于应用程序对用户输入的验证和输出编码不足。具体来说,当用户创建自定义测试时,应用程序允许在以下两个字段中注入恶意代码:
1. 测试标题字段(Test Title):攻击者可以在创建测试时将测试标题设置为包含JavaScript代码的字符串,如:<script>alert(document.cookie)</script>。
2. 配对项目条目(Matching Pair Items):攻击者可以在配对项目的名称或描述中嵌入恶意脚本,使用事件处理器如<img src=x onerror=alert(1)>或<a href="javascript:alert(document.domain)">等。
当其他用户访问或执行这些测试时,应用程序从数据库中检索这些未经过滤的数据,并直接将其插入到HTML响应中。浏览器在解析HTML时将其识别为可执行脚本并执行,从而触发XSS攻击。
利用此漏洞的攻击者可以:
- 窃取用户会话令牌和认证凭据
- 修改页面内容进行钓鱼攻击
- 重定向用户到恶意网站
- 在用户浏览器中执行键盘记录器
- 绕过同源策略限制进行进一步攻击
攻击的典型场景是:攻击者首先注册一个账户,然后创建一个包含XSS payload的测试,当其他用户(可能是教师或学生)执行该测试时,payload就会被触发。