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