CVE-2019-25673UniSharp Laravel File Manager v2.0.0-alpha7及v2.0版本存在任意文件上传漏洞。由于上传端点缺乏对文件类型的严格校验,经过身份验证的攻击者可发送特制的multipart form data请求,绕过限制上传恶意PHP文件。一旦文件上传成功,攻击者即可通过直接访问工作目录中的该文件来执行任意代码,完全控制受影响的服务器,构成极高的安全风险。
该漏洞的核心在于UniSharp Laravel File Manager在处理文件上传请求时,仅依赖于请求参数中的type字段来判断文件类型,而没有在后端对文件扩展名和MIME类型进行严格的白名单验证。具体来说,攻击者可以利用已认证的低权限账户,向上传接口发送POST请求,构造multipart/form-data格式的数据,并将type参数指定为Files。在此过程中,攻击者可以将文件名篡改为.php后缀的脚本。服务器接收请求后,错误地将该文件视为合法文件并保存到Web可访问的工作目录中。由于服务器配置了解析PHP脚本的功能,攻击者随后可以通过发送HTTP请求访问该路径,导致服务器端恶意PHP代码被执行,从而获取服务器权限。