ImageMagick远程代码执行漏洞分析

本文详细分析了ImageMagick的CVE-2016-3714漏洞,该漏洞由于字符过滤不严,允许在文件格式转换过程中执行远程代码。影响多个版本的ImageMagick,包括PHP、Ruby和NodeJS的相关插件。通过构造特定的图片文件并利用ImageMagick的convert命令,攻击者可以实现远程代码执行,控制服务器。文章介绍了漏洞环境搭建、验证方法及源代码分析,揭示了漏洞的根本原因和利用点。
摘要由CSDN通过智能技术生成

这里写图片描述

1. 漏洞描述

  • 漏洞编号: CVE-2016-3714
  • 发现人员: Slack安全工程师Ryan Hube
  • 漏洞简述: 产生原因是因为字符过滤不严谨所导致的执行代码. 对于文件名传递给后端的命令过滤不足,导致允许多种文件格式转换过程中远程执行代码。
  • 影响版本:
    • ImageMagick6.5.7-8 2012-08-17
    • ImageMagick6.7.7-10 2014-03-06
    • 低版本至6.9.3-9 released 2016-04-30

2. 漏洞分析

2.1 漏洞介绍

  ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。众多的网站平台都是用他渲染处理图片。可惜在3号时被公开了一些列漏洞,其中一个漏洞可导致远程执行代码(RCE),如果你处理用户提交的图片。该漏洞是针对在野外使用此漏洞。许多图像处理插件依赖于ImageMagick库,包括但不限于PHP的imagick,Ruby的rmagick和paperclip,以及NodeJS的ImageMagick等。

  产生原因是因为字符过滤不严谨所导致的执行代码. 对于文件名传递给后端的命令过滤不足,导致允许多种文件格式转换过程中远程执行代码。

  据ImageMagick官方,目前程序存在一处远程命令执行漏洞(CVE-2016-3714),当其处理的上传图片带有攻击代码时,可远程实现远程命令执行,进而可能控制服务器,此漏洞被命名为ImageTragick。

2.2 漏洞环境搭建

  1. 首先我们需要一台Linux虚拟机(这里我用的是Ubuntu14.04)
  2. 找到相应的有漏洞的ImageMagick版本源码进行源码安装注意:这个进行源码安装时可能会存在安装时先安装他的依赖包否则安装会报错
  3. 安装完成,使用命令convert -version查看安装是否成功,并且查看版本是否正确
    这里写图片描述
  4. 要实现远程代码执行,还需要自己搭建一个服务器
  5. 安装Apache+php,实现一个上传图片的网站,同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值