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