圖片檔案真的會傳播病毒嗎?答案令人驚訝:圖片本身不具傳染力,但利用瀏覽器/系統處理圖片的漏洞,可達成代碼執行。本文剖析三種經典圖片病毒攻擊鏈。
受害者點擊「詭異油畫」連結,實際載入的是副檔名改為 .jpg 的 HTML 頁面。頁面包含:
<img> 標籤顯示真實圖片(誘餌)。IE 依檔頭 MIME 判斷而非副檔名,攻擊者偽造 MIME 欺騙 IE 執行腳本。進度條持續運行實為木馬下載中。攻擊者以社交工程(聊天拖延時間)確保下載完成。
「AMD CPU 運算缺陷測試頁」實為以 BMP 檔頭開頭的 EXE 木馬。BMP 格式僅解析前 54 位元組檔頭(寬高、位深、資料區長度),忽略後續資料。攻擊者將 EXE 的 PE Header 替換為 BMP Header,瀏覽器視為圖片下載至快取,再透過頁面腳本將檔頭還原為 PE Header 並執行。受害者以為 CPU 有缺陷,實則中木馬刪除資料。
真正的 JPEG 檔案利用 GDI+ (gdiplus.dll) 處理 JPEG 時的緩衝區溢出。系統分配固定大小緩衝區,未嚴格檢查實際資料長度。攻擊者構造超大 JPEG 資料並植入惡意指令,溢出覆蓋核心記憶體區實現代碼執行。因 GDI+ 為系統預設圖形處理模組,絕大多數軟體(含瀏覽器、圖片檢視器)皆中招。