0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一款使用量很广的图片处理程序ImageMagick

Android编程精选 来源:小白学黑客 作者:小白哥 2022-08-16 10:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大家好,我是小白哥。

这两天,关于QQ盗号的安全事件相信大家已经听说了。各种各样的传言都有,一会儿数据库泄露了,一会儿API漏洞了,一会儿又是协议漏洞了,还有的说扫描二维码中招的,一时间众说纷纭。

在众多说法中,我看到了一个:只要点击图片就会中招!

好家伙,点图片就能中招,这可厉害了,要是对方发来一些诱惑的图片,年轻人把持不住那可咋整?

真有那么悬乎吗?

这不禁让我想起了几年前的一个漏洞,也是图片相关的,分享给大家看看。

那次漏洞的主角,是ImageMagick。

漏洞介绍

漏洞名称:Imagemagick 命令注入漏洞(CVE-2016-3714)

漏洞定级:高危

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

影响范围:ImageMagick 6.9.3-9本身及以前所有版本

漏洞原理

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

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

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

与这个漏洞相关的CVE有CVE-2016-3714CVE-2016-3715CVE-2016-3716CVE-2016-3717

其中最严重的就是CVE-2016-3714,利用这个漏洞可以造成远程命令执行的危害。

ImageMagick有一个功能叫做delegate(委托),作用是调用外部的lib来处理文件。而调用外部lib的过程是使用系统的system命令来执行的

参考代码:https://github.com/ImageMagick/ImageMagick/blob/e93e339c0a44cec16c08d78241f7aa3754485004/MagickCore/delegate.c#L347

我们在ImageMagick的默认配置文件里可以看到所有的委托:/etc/ImageMagick/delegates.xml漏洞报告中给出的POC是利用了如下的这个委托:

"https"command=""curl"-s-k-o"%o""https:%M""/>

它在解析https图片的时候,使用了curl命令将其下载,我们看到%M被直接放在curl的最后一个参数内。

ImageMagick默认支持一种图片格式,叫mvg,而mvg与svg格式类似,其中是以文本形式写入矢量图的内容,而这其中就可以包含https处理过程。

所以我们可以构造一个.mvg格式的图片(但文件名可以不为.mvg,比如下图中包含payload的文件的文件名为vul.gif,而ImageMagick会根据其内容识别为mvg图片),并在https://后面闭合双引号,写入自己要执行的命令:

pushgraphic-context
viewbox00640480
fill‘url(https://"|id;")’
popgraphic-context

这样,ImageMagick在正常执行图片转换、处理的时候就会触发漏洞。

漏洞复现

  • 搭建靶机,教程:https://github.com/vulhub/vulhub/tree/master/imagemagick/imagetragick
  • 下载vulhub:git clone https://github.com/vulhub/vulhub/tree/master/imagemagick/imagetragick
  • 进入目录:cd /vulhub-master/imagemagick/imagetragick
  • 启动docker:docker-compose up -d 注意 我靶机 docker-compose.yml中端口为8888
6c4e0e0c-1cf7-11ed-ba43-dac502259ad0.png
  • 访问搭建的靶机ip:8888
6c62c91e-1cf7-11ed-ba43-dac502259ad0.png
  • 上传poc,新建一个txt文件,内容为:
pushgraphic-context
viewbox00640480
fill'url(https://"|id;")'
popgraphic-context

将文件保存为poc.gif

6c79b7a0-1cf7-11ed-ba43-dac502259ad0.png

上次poc.gif,点击提交,成功执行:

6c91dbf0-1cf7-11ed-ba43-dac502259ad0.png

这年头,除了链接,图片也不敢随便乱点了···

————————————————

漏洞原理和复现部分原文链接:https://blog.csdn.net/u011975363/article/details/118031227

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4082

    浏览量

    68538
  • 漏洞
    +关注

    关注

    0

    文章

    205

    浏览量

    15970
  • 图片处理
    +关注

    关注

    0

    文章

    17

    浏览量

    7337

原文标题:看图片也能中招!

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    解析DSD1702:一款多功能音频数模转换器

    解析DSD1702:一款多功能音频数模转换器 在音频处理领域,数模转换器(DAC)扮演着至关重要的角色,它能将数字音频信号转换为模拟音频信号,为我们带来高品质的听觉体验。今天,我们就来深入了解一款
    的头像 发表于 04-19 09:50 116次阅读

    IDT CPS - 16:一款高性能Serial RapidIO交换机的深度解析

    IDT CPS - 16:一款高性能Serial RapidIO交换机的深度解析 在当今高速数据处理和通信的时代,高性能交换机在各种系统中扮演着至关重要的角色。IDT的CPS - 16
    的头像 发表于 04-12 10:20 411次阅读

    深入解析CPS - 1432:一款强大的RapidIO交换机

    深入解析CPS - 1432:一款强大的RapidIO交换机 在高速数据传输和处理的领域中,RapidIO技术凭借其高带宽、低延迟等优势,在众多应用场景中崭露头角。今天,我们就来深入探讨一款符合
    的头像 发表于 04-12 10:05 417次阅读

    深入剖析MAX152:一款高性能3V 8位ADC

    深入剖析MAX152:一款高性能3V 8位ADC 在电子设计领域,模拟到数字的转换是个关键环节,高性能的ADC(模拟 - 数字转换器)对于实现精确的数据采集和处理至关重要。今天,我们就来深入
    的头像 发表于 04-02 14:30 175次阅读

    LT1528:3A低 dropout 稳压器,为微处理器应用量身打造

    LT1528:3A低 dropout 稳压器,为微处理器应用量身打造 、引言 在微处理器应用的电源管理领域,一款性能卓越的低 dropou
    的头像 发表于 03-20 09:15 458次阅读

    淘宝图片搜索API接口指南

    、前言 淘宝图片搜索 API(核心为「拍立淘」相关接口)是淘宝开放平台(TOP)提供的视觉检索接口,核心能力是基于上传的图片 / 图片 URL,检索淘宝 / 天猫平台的同
    的头像 发表于 01-12 14:17 595次阅读

    请问CW32系列MCU的调试工具是哪一款

    CW32系列MCU的调试工具是哪一款
    发表于 01-07 07:11

    钉钉正式开源HarmonyOS图片编辑组件

    近日,由钉钉团队自主研发的“HarmonyOS图片编辑组件”正式上线OpenHarmony三方库中心仓并开源。作为一款填补鸿蒙社区图像处理领域空白的重量级组件,该方案基于HarmonyOS
    的头像 发表于 01-05 09:58 670次阅读

    深入解析ZSSC3286:一款强大的传感器信号调理IC

    概述 ZSSC3286作为一款双通道传感器信号调理IC,能够对传感器信号进行高精度的放大、数字化处理,并针对特定传感器进
    的头像 发表于 12-26 18:10 1434次阅读

    深度剖析TS3USB3000:一款高性能的USB与MHL开关芯片

    深度剖析TS3USB3000:一款高性能的USB与MHL开关芯片 在电子设备的设计中,对于信号切换和传输的需求日益增长,尤其是在处理高速信号时,需要一款性能卓越的开关芯片。TI公司
    的头像 发表于 12-23 14:25 493次阅读

    CWDAPLINK与J-link下载有什么区别?哪一款比较好?

    CWDAPLINK与J-link下载有什么区别?哪一款比较好?
    发表于 12-02 06:06

    请问芯源F030性能对标ST的哪一款

    芯源F030性能对标ST的哪一款
    发表于 11-14 07:15

    灵动微电子最新最火热的一款芯片推荐

    希望找一款灵动微电子最新最火热的一款芯片,我们想做个图形化的界面配置,供大家以后直接创建工程,用国产工具McuStudio做,McuStudio支持任何内核任何厂家的芯片,希望大家有推荐的型号可以发给我
    发表于 10-29 17:15

    HarmonyOS实战:招搞定保存图片到相册

    保存图片功能几乎是每个应用程序必备的功能之,当用户遇到喜欢的图片时可以保存到手机相册。那么在鸿蒙中保存图片是否也需要申请用户存储权限以及如
    的头像 发表于 06-24 17:04 1414次阅读

    CodeBuddy 打造一款响应式图片画廊

    图片画廊页面来作为练手项目,目标很明确:要实现不等高的 Masonry 布局,点击图片能弹出大图预览,还要能通过键盘切换图片。理想状态下,它还应该支持无限滚动加载,并提供分类筛选功能。光想想就觉得挺麻烦的,但我决定用 Code
    的头像 发表于 05-11 13:33 742次阅读
    CodeBuddy 打造<b class='flag-5'>一款</b>响应式<b class='flag-5'>图片</b>画廊