大家好,我是小白哥。
這兩天,關于QQ盜號的安全事件相信大家已經(jīng)聽說了。各種各樣的傳言都有,一會兒數(shù)據(jù)庫泄露了,一會兒API漏洞了,一會兒又是協(xié)議漏洞了,還有的說掃描二維碼中招的,一時間眾說紛紜。
在眾多說法中,我看到了一個:只要點擊圖片就會中招!
好家伙,點圖片就能中招,這可厲害了,要是對方發(fā)來一些誘惑的圖片,年輕人把持不住那可咋整?
真有那么懸乎嗎?
這不禁讓我想起了幾年前的一個漏洞,也是圖片相關的,分享給大家看看。
那次漏洞的主角,是ImageMagick。
漏洞介紹
漏洞名稱
:Imagemagick 命令注入漏洞(CVE-2016-3714)
漏洞定級
:高危
漏洞描述
:ImageMagick 在處理惡意構造的圖片文件時,對于文件中的 URL 未經(jīng)嚴格過濾,可導致命令注入漏洞。通過命令注入漏洞,黑客可以在服務器上執(zhí)行任意系統(tǒng)命令,獲取服務器權限。
影響范圍
:ImageMagick 6.9.3-9本身及以前所有版本
漏洞原理
ImageMagick是一款使用量很廣的圖片處理程序,很多廠商都調(diào)用了這個程序進行圖片處理,包括圖片的伸縮、切割、水印、格式轉(zhuǎn)換等等。
但有研究者發(fā)現(xiàn),當用戶傳入一個包含『畸形內(nèi)容』的圖片的時候,就有可能觸發(fā)命令注入漏洞。
國外的安全人員為此新建了一個網(wǎng)站:https://imagetragick.com/
與這個漏洞相關的CVE有CVE-2016-3714
、CVE-2016-3715
、CVE-2016-3716
、CVE-2016-3717
,
其中最嚴重的就是CVE-2016-3714,利用這個漏洞可以造成遠程命令執(zhí)行的危害。
ImageMagick有一個功能叫做delegate(委托)
,作用是調(diào)用外部的lib來處理文件。而調(diào)用外部lib的過程是使用系統(tǒng)的system命令來執(zhí)行的
參考代碼:https://github.com/ImageMagick/ImageMagick/blob/e93e339c0a44cec16c08d78241f7aa3754485004/MagickCore/delegate.c#L347
我們在ImageMagick的默認配置文件里可以看到所有的委托:/etc/ImageMagick/delegates.xml漏洞報告中給出的POC是利用了如下的這個委托:
"https"command=""curl"-s-k-o"%o""https:%M""/>
它在解析https圖片的時候,使用了curl命令將其下載,我們看到%M被直接放在curl的最后一個參數(shù)內(nèi)。
ImageMagick默認支持一種圖片格式,叫mvg,而mvg與svg格式類似,其中是以文本形式寫入矢量圖的內(nèi)容,而這其中就可以包含https處理過程。
所以我們可以構造一個.mvg格式的圖片(但文件名可以不為.mvg,比如下圖中包含payload的文件的文件名為vul.gif,而ImageMagick會根據(jù)其內(nèi)容識別為mvg圖片),并在https://后面閉合雙引號,寫入自己要執(zhí)行的命令:
pushgraphic-context
viewbox00640480
fill‘url(https://"|id;")’
popgraphic-context
這樣,ImageMagick在正常執(zhí)行圖片轉(zhuǎn)換、處理的時候就會觸發(fā)漏洞。
漏洞復現(xiàn)
- 搭建靶機,教程:https://github.com/vulhub/vulhub/tree/master/imagemagick/imagetragick
- 下載vulhub:git clone https://github.com/vulhub/vulhub/tree/master/imagemagick/imagetragick
- 進入目錄:cd /vulhub-master/imagemagick/imagetragick
- 啟動docker:docker-compose up -d 注意 我靶機 docker-compose.yml中端口為8888
![6c4e0e0c-1cf7-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/3E/wKgaomTnFr6AbA-qAABVzlU6YvM703.png)
- 訪問搭建的靶機ip:8888
![6c62c91e-1cf7-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/3E/wKgaomTnFr6AG9FbAAAzrDSaM1I118.png)
- 上傳poc,新建一個txt文件,內(nèi)容為:
pushgraphic-context
viewbox00640480
fill'url(https://"|id;")'
popgraphic-context
將文件保存為poc.gif
![6c79b7a0-1cf7-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/3E/wKgaomTnFr6AIsajAAAu6jT4q50986.png)
上次poc.gif,點擊提交,成功執(zhí)行:
![6c91dbf0-1cf7-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/3E/wKgaomTnFr6AFKFmAABKQ1RaKZo502.png)
這年頭,除了鏈接,圖片也不敢隨便亂點了···
————————————————
漏洞原理和復現(xiàn)部分原文鏈接:https://blog.csdn.net/u011975363/article/details/118031227
-
數(shù)據(jù)庫
+關注
關注
7文章
3853瀏覽量
64759 -
漏洞
+關注
關注
0文章
205瀏覽量
15446 -
圖片處理
+關注
關注
0文章
17瀏覽量
6976
原文標題:看圖片也能中招!
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
Spire.Cloud.Word云端Word文檔處理SDK介紹
![Spire.Cloud.Word云端Word文檔<b class='flag-5'>處理</b>SDK介紹](https://file1.elecfans.com/web3/M00/07/D9/wKgZO2eqwDqAOEC9AAATJ1LMR04985.png)
使用Python+OpenCV處理圖片
求推薦一款處理24V的差分編碼器信號的芯片
三星減少NAND生產(chǎn)光刻膠使用量
如果設計一款桌面款的機器玩具,最吸引人的外觀與功能要有哪些?
經(jīng)過TAS5548EVM評估板處理輸出的PWM信號,可以用哪一款型號的數(shù)字功放評估板處理?
我想選一款音頻芯片,性能類似TAS2505-Q1的,帶有音頻處理和D類功放功能二合一的
基于ArkTS語言的OpenHarmony APP應用開發(fā):圖片處理
![基于ArkTS語言的OpenHarmony APP應用開發(fā):<b class='flag-5'>圖片</b><b class='flag-5'>處理</b>](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
選用一款運放搭建單位增益運算放大電路遇到的問題求解
INA-138設計了一款電路,取樣后1腳的輸出不是一個穩(wěn)定的電平,如何處理?
人工智能模型公司Anthropic近日推出了一款Claude移動端App
百度搜索重磅推出AI圖片助手
一款以32位ARMCortexTM-M0處理器內(nèi)核為基礎的高性價比安全MCU
如何設計一款四輪智能小車
![如何設計<b class='flag-5'>一款</b>四輪智能小車](https://file1.elecfans.com//web2/M00/C6/AD/wKgaomYCOeCAVy67AAxhXZwQ7BU852.jpg)
評論