网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

jQuery-File-Upload <= 9.x 远程命令执行漏洞

文章来源:网络搜集 发布时间:2019-07-01 16:21:37 围观次数:
分享到:

摘要:VulnSpy团队对代码的审核中发现了另一个严重的命令执行漏洞,该漏洞允许攻击者通过上传恶意图像文件来执行任意系统命令

jQuery-File-Upload是Github自jQuery以来最受欢迎的jQuery项目,它最近被曝光为三年的免费文件上传漏洞,后来在v9.22.2中发布。 已修复,但在VulnSpy团队对代码的审核中发现了另一个严重的命令执行漏洞,该漏洞允许攻击者通过上传恶意图像文件来执行任意系统命令。


  注意:旧标题(jQuery-File-Upload <= 9.x远程命令执行漏洞(ImageMagick / Ghostscript))可能会产生误导。 该漏洞实际上不是jQuery-File-Upload中的漏洞,但由于jQuery-File-Upload默认调用Imagek处理照片,并且使用jQuery-File-Upload,RCE的范围将更大,更容易 使用比以前的任意文件上传漏洞。 如果您无法确保服务器上的ImageMagick是安全的,请使用jQuery-File-Upload将image_library设置为0


  漏洞详细信息

  在jQuery-File-Upload PHP上传处理文件/server/php/UploadHandler.php中,首先使用Imagick来验证上传的图像:

protected function get_image_size($file_path) {
    if ($this->options['image_library']) {
        if (extension_loaded('imagick')) {
            $image = new \Imagick();
            try {
                if (@$image->pingImage($file_path)) {
                    $dimensions = array($image->getImageWidth(), $image->getImageHeight());
                    $image->destroy();
                    return $dimensions;
                }
                return false;
            } catch (\Exception $e) {
                error_log($e->getMessage());
            }
        }
        if ($this->options['image_library'] === 2) {
            $cmd = $this->options['identify_bin'];
            $cmd .= ' -ping '.escapeshellarg($file_path);
            exec($cmd, $output, $error);
            if (!$error && !empty($output)) {
                // image.jpg JPEG 1920x1080 1920x1080+0+0 8-bit sRGB 465KB 0.000u 0:00.000
                $infos = preg_split('/\s+/', substr($output[0], strlen($file_path)));
                $dimensions = preg_split('/x/', $infos[2]);
                return $dimensions;
            }
            return false;
        }
    }
    if (!function_exists('getimagesize')) {
        error_log('Function not found: getimagesize');
        return false;
    }
    return @getimagesize($file_path);
}

我们都知道 ImageMagick 在近几年来出现了多个严重的安全漏洞:

因此我们可已直接通过上传含有恶意代码的图片来利用该漏洞,按照老规矩,VulnSpy 已经准备好了在线的实验环境,大家可以移步到下面链接进行测试:

在线测试地址:https://www.vulnspy.com/cn-jquery-file-upload-below-v9.x-rce/

如何修复

将 /server/php/UploadHandler.php 中的默认图片处理库修改为GD库:

// Set to 0 to use the GD library to scale and orient images,
// set to 1 to use imagick (if installed, falls back to GD),
// set to 2 to use the ImageMagick convert binary directly:
'image_library' => 0

参考

Remote code execution vulnerability in the PHP component


本文由 网络搜集 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:jquery 远程命令执行

上一篇:CVE-2019-11477-Linux内核TCP协议栈溢出漏洞exp
下一篇:CVE2019-1019Microsoft Windows 10.0.17134.648 - HTTP -> SMB NTLM reflection导致权限提升漏洞

热门资讯

鼠标向下滚动