<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        深入淺析ImageMagick命令執行漏洞

        來源:懂視網 責編:小采 時間:2020-11-27 14:27:36
        文檔

        深入淺析ImageMagick命令執行漏洞

        深入淺析ImageMagick命令執行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個功能強大的開源圖形處理軟件,可以用來讀、寫和處理超過90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對圖片進行切割、旋轉、組合等多種特效的處理。 由于其功能強大、性能較好
        推薦度:
        導讀深入淺析ImageMagick命令執行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個功能強大的開源圖形處理軟件,可以用來讀、寫和處理超過90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對圖片進行切割、旋轉、組合等多種特效的處理。 由于其功能強大、性能較好
        00 前言

        什么是ImageMagick?

        ImageMagick是一個功能強大的開源圖形處理軟件,可以用來讀、寫和處理超過90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對圖片進行切割、旋轉、組合等多種特效的處理。

        由于其功能強大、性能較好,并且對很多語言都有拓展支持,所以在程序開發中被廣泛使用。許多網站開發者喜愛使用ImageMagick拓展來做web上的圖片處理工作,比如用戶頭像生成、圖片編輯等。

        01 漏洞描述

        ImageMagick是一款開源圖片處理庫,支持PHP、Ruby、NodeJS和Python等多種語言,使用非常廣泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多個圖片處理插件都依賴它運行。當攻擊者構造含有惡意代碼得圖片時,ImageMagick庫對于HTTPPS文件處理不當,沒有做任何過濾,可遠程實現遠程命令執行,進而可能控制服務器。

        02 影響程度

        攻擊成本:低

        危害程度:高

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

        03 漏洞分析

        命令執行漏洞是出在ImageMagick對https形式的文件處理的過程中。

        ImageMagick之所以支持那么多的文件格式,是因為它內置了非常多的圖像處理庫,對于這些圖像處理庫,ImageMagick給它起了個名字叫做”Delegate”(委托),每個Delegate對應一種格式的文件,然后通過系統的system()命令來調用外部的lib進行處理。調用外部lib的過程是使用系統的system命令來執行的,導致命令執行的代碼。

        ImageMagick委托的默認配置文件: /etc/ImageMagick/delegates.xml

        具體代碼請參考:Github-ImageMagick

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

        " "

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

        wget是從網絡下載文件得命令,%M是一個占位符,它得具體定義在配置文件中如下:

        %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地址。但是由于只是做了簡單的字符串拼接,沒有做任何過濾,直接拼接到command命令中,所以我們可以將引號閉合后通過"|",”`”,”&”等帶入其他命令,也就形成了命令注入。

        比如我們傳入如下代碼:

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

        則實際得system函數執行得命令為:

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

        這樣,ls -al命令成功執行。

        04 漏洞利用

        這個漏洞得poc由老外給出得,如下:

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

        push和pop是用于堆棧的操作,一個進棧,一個出棧;

        viewbox是表示SVG可見區域的大小,或者可以想象成舞臺大小,畫布大小。簡單理解就是根據后面得參數選取其中得一部分畫面;

        fill url()是把圖片填充到當前元素內;

        在其中我們使用了fill url()的形式調用存在漏洞的https delegate,當ImageMagick去處理這個文件時,漏洞就會被觸發。

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

        利用過程:

        創建一個exploit.png文件,包含以下內容:

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

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

        05 漏洞修復

        升級到最新版本

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

        
        
        
        
        
        
        

        以上所述是小編給大家介紹的ImageMagick命令執行漏洞的知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        深入淺析ImageMagick命令執行漏洞

        深入淺析ImageMagick命令執行漏洞:00 前言 什么是ImageMagick? ImageMagick是一個功能強大的開源圖形處理軟件,可以用來讀、寫和處理超過90種的圖片文件,包括流行的JPEG、GIF、 PNG、PDF以及PhotoCD等格式。使用它可以對圖片進行切割、旋轉、組合等多種特效的處理。 由于其功能強大、性能較好
        推薦度:
        標簽: 漏洞 命令 分析
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲区日韩精品中文字幕| 亚洲线精品一区二区三区影音先锋 | 亚洲午夜精品在线| 永久免费在线观看视频| 亚洲日韩图片专区第1页| 精品免费tv久久久久久久| 久久精品国产亚洲av成人| 国产免费一区二区三区不卡 | 亚洲AV永久纯肉无码精品动漫| 黄床大片免费30分钟国产精品| 亚洲中文字幕伊人久久无码| 九九久久国产精品免费热6| 久久久久亚洲精品中文字幕| 三年片免费高清版 | 亚洲国产婷婷香蕉久久久久久| 特级毛片免费播放| 亚洲永久精品ww47| 18禁美女裸体免费网站| 国产成人亚洲综合网站不卡| 国产一区二区三区在线免费 | 亚洲精品97久久中文字幕无码| 成人午夜影视全部免费看| 亚洲熟妇丰满多毛XXXX| 久久久久久一品道精品免费看| 亚洲国产av一区二区三区丶| 永久久久免费浮力影院| 一区二区三区免费电影| 亚洲av无码乱码国产精品fc2 | 国产成人高清精品免费鸭子| 一级A毛片免费观看久久精品 | 亚洲AV无码乱码国产麻豆穿越| 无码国产精品一区二区免费虚拟VR| 亚洲熟伦熟女专区hd高清| 亚洲欧洲久久久精品| 久久久久久夜精品精品免费啦| 亚洲一卡2卡三卡4卡无卡下载| 亚洲精品国产日韩无码AV永久免费网| 国产免费爽爽视频在线观看| 自拍偷区亚洲国内自拍| 狠狠综合久久综合88亚洲| 国产曰批免费视频播放免费s |