Función para detectar troyanos de imágenes ASP. Dado que FSO no puede leer el contenido del archivo del cliente, solo puede abrir el archivo para inspeccionar el contenido después de cargarlo en el servidor. Principio del caballo de Troya: los intrusos utilizan herramientas como el generador de caballos de Troya de imágenes ASP para fusionar una imagen normal y un archivo de caballo de Troya ASP en un archivo de imagen (es decir, perjudicial para el sitio web).
El código ASP se inserta después de codificar la imagen. Aunque la imagen aún se puede mostrar normalmente, el contenido y el tamaño del archivo han cambiado), y luego cargue esta imagen a través de la función de carga de archivos proporcionada por el sitio web.
' Imágenes del método, logrando así el propósito de cargar el caballo de Troya ASP.
' Método de prevención: debido a que este troyano es una combinación de una imagen y un troyano, debe verificar el contenido del archivo antes de cargar la imagen. Si el contenido del archivo es ilegal (es decir, contiene código malicioso),
' tiene prohibido cargar, bloqueando así la fuente del ataque troyano. Este es el primer paso del ataque troyano. Es muy importante y debe bloquearse.
'************************************************ * ****************************
Copie el código de código de la siguiente manera:
'Comenzar------------------------------------------------ -------------------------------------------------- --------------------------
función CheckFileContent (nombre de archivo)
dim ClientFile,ClientText,ClientContent,DangerString,DSArray,AttackFlag,k
establecer ClientFile=Server.CreateObject(Scripting.FileSystemObject)
establecer ClientText = ClientFile.OpenTextFile (Server.MapPath (Nombre de archivo), 1)
ClientContent=LCase(ClientText.ReadAll)
establecer ClientText = nada
establecer ClientFile = nada
Bandera de ataque=falso
DangerString=.getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=|include|filesystemobject|shell.application
DSArray=dividir(DangerString,|)
para k=0 a UBound(DSArray)
si InStr(ClientContent,DSArray(k))>0 entonces 'Determine si el contenido del archivo contiene caracteres de operación peligrosos. Si es así, el archivo debe eliminarse.
Bandera de ataque = verdadero
salida para
terminar si
próximo
CheckFileContent=Bandera de ataque
función final
'Fin------------------------------------------------ -------------------------------------------------- --------------------------