TRSWCM中ImageMagick图片处理软件远程代码执行漏洞
最后更新时间:2017年08月20日 人气:...

1.现象

  ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、PNG、PDF以及PhotoCD等格式,众多的网站平台都是用他渲染处理图片。但在2016年5月3日,ImageMagick披露了一个严重的漏洞,该漏洞的利用十分简单,通过上传一个恶意图像到目标Web服务器上,攻击者就可以执行任意代码,窃取用户账号等重要信息。该漏洞的产生原因是因为字符过滤不严谨,对文件名传递给后端的命令过滤不足,导致允许多种文件格式转换过程中可以远程执行代码。


2.攻击演示

以Linux操作系统为例:

(1).新建一个文本文件,命名为:imd.jpg

vi imd.jpg

(2).在文件中输入以下内容,并保存:

push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|ls "-la)'
pop graphic-context

(3).在ImageMagick目录中找到convert命令,对图片进行转换:

./convert imd.jpg imd.png

  如果输出结果列出了当前目录的内容,则说明该版本的ImageMagick存在此漏洞,如下图所示:

3.解决办法

(1).更新到官方发布的最新的介质:

  介质下载地址:http://www.imagemagick.org/script/binary-releases.php

(2).再次执行convert命令进行确认,确认不再列出目录即为修复成功:

(3).确认安全问题修复后,修改WCM使用的ImageMagick的目录:

  文件路径:wcm/WEB-INF/classes/ TRSWCMPhoto.properties。修改文件中指定的ImageMagick组件的路径,例如:

CMD_CONVERT=/usr/local/bin/convert
CMD_COMPOSITE=/usr/local/bin/composite
CMD_IDENTIFY=/usr/local/bin/identify

注意:

  Windows环境下,低版本的ImageMagick目前没有发现存在次安全问题,但是也建议升级到最新的7.0.1-3。


热门评论