Às vezes, os Trojans são carregados por meio de programas, geralmente disfarçados de imagens. A seguir está o código para detectar Trojans de imagens em asp. Defesa de Trojan ASP:
Copie o código do código da seguinte forma:
const adTypeBinary=1
dim jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
dim bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D)
dim png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47)
dim 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)
Response.Write CheckFileType(Server.MapPath(2.gif))
função CheckFileType(nome do arquivo)
em caso de erro, retome a seguir
CheckFileType=falso
dim fstream,fileExt,stamp,i
fileExt=mid(nome do arquivo,InStrRev(nome do arquivo,.)+1)
definir fstream=Server.createobject(ADODB.Stream)
fstream.Open
fstream.Type=adTypeBinary
nome do arquivo fstream.LoadFromFile
fstream.posição=0
selecione arquivo de casoExt
caso jpg, jpeg
carimbo=fstream.read(2)
para eu = 0 a 1
se ascB(MidB(stamp,i+1,1))=jpg(i) então CheckFileType=true senão CheckFileType=false
próximo
caso
carimbo=fstream.read(6)
para i = 0 a 5
se ascB(MidB(stamp,i+1,1))=gif(i) então CheckFileType=true senão CheckFileType=false
próximo
caso png
carimbo=fstream.read(4)
para i = 0 a 3
se ascB(MidB(stamp,i+1,1))=png(i) então CheckFileType=true senão CheckFileType=false
próximo
caso bmp
carimbo=fstream.read(2)
para eu = 0 a 1
se ascB(MidB(stamp,i+1,1))=bmp(i) então CheckFileType=true senão CheckFileType=false
próximo
final selecionar
fstream.Fechar
definir fseteam = nada
se err.number<>0 então CheckFileType=false
função final
%>