CVE-2023-53980CVE-2023-53980是ProjectSend r1605版本中存在的一个严重远程代码执行漏洞。该漏洞允许未经认证的攻击者通过操纵文件扩展名上传恶意文件到服务器,从而执行任意系统命令。漏洞存在于upload.process.php端点,攻击者可利用文件扩展名欺骗手段绕过上传限制,上传包含恶意代码的脚本文件(如PHP webshell)并通过HTTP请求触发执行。由于该漏洞无需认证即可利用,且CVSS评分高达9.8,属于紧急修复的安全缺陷。ProjectSend是一款开源的文件分享和传输管理工具,广泛应用于企业内部文件共享场景。攻击者一旦成功利用此漏洞,可完全控制受影响的服务器,窃取敏感数据、植入后门或进一步横向移动至内网其他系统。该漏洞的披露时间较早,但相关修复补丁可能未及时部署,建议所有使用ProjectSend的用户立即检查版本并采取相应措施。
该漏洞的核心问题在于ProjectSend的文件上传功能对文件扩展名验证不足。攻击者可以通过修改文件扩展名(如将.php改为.php5、.phtml或添加双扩展名如shell.php.jpg)绕过上传时的扩展名校验,成功将PHP webshell上传至服务器。上传端点upload.process.php在处理文件时,仅检查Content-Type和基本扩展名,但未对文件内容进行安全扫描或对上传目录执行访问限制。上传成功后,攻击者可通过直接访问上传的文件路径(如/uploads/files/malicious.php)来触发webshell执行,从而在服务器上执行任意系统命令。漏洞利用的关键在于绕过文件扩展名校验机制,以及确保webshell代码能在服务器端被解析执行。攻击者通常会使用base64编码的webshell来躲避简单的特征检测。