CVE-2021-47940WordPress插件Download From Files在1.48及之前的版本中存在严重的任意文件上传漏洞。由于未对AJAX文件上传操作进行严格的身份验证和文件类型限制,未经身份认证的攻击者可以通过构造特殊的POST请求,绕过文件扩展名检查,向服务器上传恶意文件(如PHP Webshell)。成功利用该漏洞可能导致攻击者在受影响的服务器上执行任意代码,完全控制网站系统,造成严重的数据泄露和破坏。
该漏洞的核心在于WordPress插件Download From Files对文件上传接口的安全控制缺失。具体来说,插件通过`admin-ajax.php`处理`download_from_files_617_fileupload`动作时,未对用户身份进行验证,导致未授权访问。更为严重的是,服务端仅依赖用户提交的`allowExt`参数来判断文件类型合法性,未在服务端进行硬编码的白名单校验或文件内容检查。攻击者通过构造特制的HTTP POST请求,将`allowExt`参数修改为允许PHP后缀,即可绕过前端或简单的扩展名过滤,将包含恶意代码的PHP文件上传至Web根目录。一旦文件上传成功,攻击者只需通过浏览器访问该文件路径,即可在服务器端执行任意系统命令,完全控制受害主机。