洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營(yíng)銷(xiāo)規(guī)律
作者:狐靈科技 | 2020-01-12 17:30 |點(diǎn)擊:
這里以位圖 BMP 為例演示圖片文件黑客攻擊的原理及實(shí)現(xiàn)。
創(chuàng)建或者隨便找一個(gè)位圖,使用編輯器(本文使用 UltraEdit 作為編輯查看工具)打開(kāi),可看到 16進(jìn)制數(shù)。
BMP 格式中,前 2 字節(jié)是用于識(shí)別位圖文件格式的字段,可以看到它對(duì)應(yīng) ASCII 碼的 BM
,只要該字段正確,圖片文件就能被正確識(shí)別處理,而無(wú)論其余數(shù)據(jù)是否損壞。隨后 4 字節(jié)用于指示文件大小,單位為字節(jié)。
在此基礎(chǔ)上,我們就可以對(duì)圖片動(dòng)一些手腳了,我們可以在圖片中插入一段 JS 腳本。
比如獲取該網(wǎng)頁(yè)cookie的腳本或者重定向到目標(biāo)網(wǎng)站的腳本。這里我們僅作效果演示,所以用了彈框:
然后我們將腳本插入到圖片中,具體步驟如下:
2A 2F
(即 JS 多行注釋中*/
的十六進(jìn)制碼)替換為00 00
,防止語(yǔ)法錯(cuò)誤干擾腳本運(yùn)行2F 2A
( JS 多行注釋中/*
的十六進(jìn)制碼)FF 2A 2F 3D 31 3B
(即*/=1;
),其中=1;
用于結(jié)束開(kāi)頭的BM
。
以上操作可以通過(guò) Python 腳本簡(jiǎn)單實(shí)現(xiàn):
創(chuàng)建index.html
文件,內(nèi)容如下:
其他圖片格式也可以通過(guò)類(lèi)似的操作實(shí)現(xiàn)。
請(qǐng)直接添加技術(shù)總監(jiān)微信聯(lián)系咨詢(xún)