Terkadang Trojan diunggah melalui program, biasanya disamarkan sebagai gambar. Berikut kode untuk mendeteksi Trojan gambar di bawah asp. Pertahanan Trojan ASP:
Copy kode kodenya sebagai berikut:
const adTypeBinary=1
redupkan jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
redupkan bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D)
redup png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47)
redup gif(5):gif(0)=CByte(&H47):gif(1)=CByte(&H49):gif(2)=CByte(&H46):gif(3)=CByte(&H39):gif(4) =CByte(&H38):gif(5)=CByte(&H61)
Respons.Tulis CheckFileType(Server.MapPath(2.gif))
fungsi CheckFileType (nama file)
pada kesalahan lanjutkan berikutnya
CheckFileType=salah
redupkan fstream,fileExt,cap,i
fileExt=mid(nama file,InStrRev(nama file,.)+1)
setel fstream=Server.buat objek(ADODB.Stream)
fstream.Buka
fstream.Type=adTypeBinary
fstream.LoadFromFile nama file
fstream.posisi=0
pilih file kasusExt
kasus jpg,jpeg
cap=fstream.baca(2)
untuk i=0 hingga 1
jika ascB(MidB(stempel,i+1,1))=jpg(i) maka CheckFileType=true else CheckFileType=false
Berikutnya
gif kasus
cap=fstream.baca(6)
untuk i=0 sampai 5
jika ascB(MidB(stempel,i+1,1))=gif(i) maka CheckFileType=true else CheckFileType=false
Berikutnya
png kasus
cap=fstream.baca(4)
untuk i=0 hingga 3
jika ascB(MidB(stempel,i+1,1))=png(i) maka CheckFileType=true else CheckFileType=false
Berikutnya
kasus bmp
cap=fstream.baca(2)
untuk i=0 hingga 1
jika ascB(MidB(stempel,i+1,1))=bmp(i) maka CheckFileType=true else CheckFileType=false
Berikutnya
akhir pilih
fstream.Tutup
atur fseteam=tidak ada
jika err.number<>0 maka CheckFileType=false
fungsi akhir
%>