热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于ImageTragick漏洞的一些错误概念说明

近期,据媒体报道,ImageTragick软件中存在着漏洞,影响了用户的正常使用。同时,此报道也引起了大量网页开发人员的关注。他们正尝试通过解决一个远程代码执行变量的方式,来修复这一漏洞。ImageT

https://img.php1.cn/3cd4a/1eebe/cd5/7d7ef3f69d479716.webp

近期,据媒体报道,ImageTragick软件中存在着漏洞,影响了用户的正常使用。同时,此报道也引起了大量网页开发人员的关注。他们正尝试通过解决一个远程代码执行变量的方式,来修复这一漏洞。

ImageTragick是一款广受欢迎的图片制作操作软件。它可以用来读、写和处理超过89种基本格式的图片文件,包括TIFF、JPEG、GIF以及PNG等等,具有一套功能强大且稳定的工具集。网页前端工作者通常用它来修改图片、转换图片格式或对一些发布在网络上的图片进行标注。无论你是否使用过这款软件,都应该对这一漏洞给予一定的关注。因为该漏洞的开发成本极低,极易被不法分子所利用。简单说,它其实就是在上世纪90年代出现过的安全漏洞的其中之一,即简单的shell命令行注入漏洞。而今天,随着技术的不断发展,在一些核心开发工具中,这种漏洞几乎已经不存在了。该漏洞与另一个影响深远的shell漏洞—Shellshock Bug(破壳漏洞)有着一定的相似之处。

即是说,我认为媒体关于此漏洞的报道,都忽视了其中重要的一点,即:即使开发人员修复了RCE向量(远程设备控制命令),这可能也无济于事。任何想通过ImageTragick来处理,已经被攻击者控制的图片的用户,都会面临巨大的安全隐患。

问题其实很简单:相较于ImageTragick展现出的优点,人们对于该软件中存在的这一漏洞,会感到有些惊讶。因为在软件开发人员看来。它实在过于“低级”。正是因为在设计之初,设计者没有考虑到命令行注入,这一历史悠久,但鲜为人知,具有严重威胁的安全漏洞的存在,而导致了今天这一情况的出现。几个月前,当人们还在讨论这一漏洞时,一位叫做Jodie Cunningham的研究员,就对该漏洞所使用的数据点进行了研究。Jodie采用开源的afl-fuzz工具对该软件的IM功能(Instant Messaging-即时通讯),进行了模糊测试,并且迅速找到了20多个其中存在的开发漏洞,以及大量能够进行拒绝服务攻击的漏洞。关于她的研究结果的样本,可在后面的网页里找到。(http://www.openwall.com/lists/oss-security/2014/12/24/1)

Jodie所做的测试还可能仅仅停留在表面。在这之后,Hanno Boeck又找出了更多的bug。据我所知,Hanno找到这些bug,也仅仅是通过使用关闭shelf的模糊测试工具,并没有更多新的尝试。在这儿,我可以和你们打一个赌:由于缺乏一种对IM代码库进行重新设计的驱动力,此漏洞的持续趋势,在短期内将不会有改变。

对此,有如下几条关于使用ImageTragick的建议:

1. 如果你确实需要对一些安全信任度较低的图片,进行格式转换或尺寸缩小修改时,不要使用ImageMagick。将其转换为png库文件、jpeg-turbo库文件或gif库文件进行使用。这是一种很好的方法。同时你还可以在Chrome或Firefox浏览器中查看相关的源代码。这种实现方式将大大提高执行速度。

2. 如果你必须要使用ImageMagick对一些不受信任的图片进行处理,那么你就要考虑是否会遭到带有seccomp-bpf特性的沙盒代码的攻击,或另一种与其有着类似攻击机制的网络攻击,即:限制所有控件访问用户工作区,进而实施内核攻击。现在,我们所掌握的一些基本的沙盒防护技术,比如:Chroot(Change Root:改变程序执行时所参考的根目录位置)和UID 分离等,在面对此类攻击时,还无法取得太好的效果。

3. 如果以上两个办法都失效的话,那么就要果断地通过IM进行限制图片格式处理的设置。最低要求是要对每一个接收到的图片文件的标题进行检查,这也有助于当要调用代码自动识别功能函数时,可以明确地说明输入文件的格式。对于命令行调用功能,可通过如下代码实现:convert […other params…] — jpg:input-file.jpg jpg:output-file.jpg

在ImageMagick中所执行的JPEG、PNG和GIF格式文件的处理代码比PCX、TGA、SVG、PSD等其他格式文件的代码,要具有更好的稳定性。


推荐阅读
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 近期,针对Axis2默认凭据漏洞的攻击案例在安全社区引起了广泛关注。这些攻击通常利用Axis2的默认用户名和密码进行渗透测试,技术手段相对固定。本文在综合分析多个案例的基础上,详细探讨了该漏洞的安全风险,并提出了有效的防范措施,以帮助企业和开发者加强Web服务的安全防护。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 依然最钟爱《People Have the Power》,强烈推荐大家聆听这首经典之作
    尽管今日情绪低落,我在音乐库中反复筛选,最终还是选择了《People Have the Power》来激励自己。这首歌不仅旋律动听,歌词也充满力量,能够带给人正能量。强烈建议大家找来聆听,体验其独特的魅力。《People Have the Power》虽然不是出自专辑《Horses》,但同样是一首不可多得的经典之作。 ... [详细]
  • 本文深入解析了HTML框架集(FRAMESET)的使用方法及其应用场景。首先介绍了几个关键概念,如如何通过FRAMESET标签将主视图划分为多个独立的区域,每个区域可以加载不同的HTML文件。此外,还详细探讨了FRAMESET在实际开发中的优缺点,并提供了具体的实例代码,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 发布时间:2010-07-27 影响版本:Internet Explorer 6 和 7 测试环境:Windows XP SP3 漏洞描述:Internet Explorer 是 Windows 操作系统中默认集成的 Web 浏览器。该漏洞源于帧边界属性的不当处理,攻击者可通过构造特定的网页内容,导致浏览器崩溃,从而引发远程拒绝服务攻击。此漏洞对用户的正常使用造成严重影响,建议用户及时更新浏览器版本以确保安全。 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 利用 Python 实现 Facebook 账号登录功能 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有