Wenn Sie Trojaner durch Programme hochladen, werden sie normalerweise als Bilder getarnt.
Bestimmen Sie zunächst die Dateigröße:
- IFFILE.FILESIZE <10Then
- Response.write (<Script> alert ('Sie haben keine Datei hochladen') </script>)
- Response.write (<Script> history.go (-1) </script>)
- Antwort.end ()
- Endif
Bestimmen Sie nach dem Hochladen der Datei auf den Server die gefährlichen Betriebszeichen in der Datei des Benutzers:
- setMyFile = server.createObject (scripting.FilesystemObject)
- setMyText = myFile.opentextFile (Filepath, 1) 'Textdatei lesen
- stextall = lase (mytext.readall)
- Mytext.close
- setMyFile = nichts
- SSTR = .GETFOLDER | .CreateFolder | .DeleteFolder | .Createdirectory | .Deletedirectory | .Saveas
- | wscript.shell | script.Encode | Server. | .CreateObject | Ausführen | ActiveXObject | Sprache =
- SnoString = Split (SSTR, |)
- fei = 0toubund (snostring)
- ifInstr (stextall, snostring (i)) dann
- setFiledel = server.createObject (scripting.FilesystemObject)
- sattel.deleteFileFilepath
- setFiledel = nichts
- Response.write (<Script> alert ('Es gibt ein Problem mit der Datei, die Sie hochgeladen haben, der Upload fehlgeschlagen'); Fenster.CLOSE (); </script>)
- Antwort.end ()
- Endif
- nächste
Wie man verhindern, dass trojanische Sexbilder hochladen
Ich habe diesen Code ohne Probleme überprüft, er kann den Hochladen von Trojanischen Bildern blockieren
- <%
- '****************************************** *********************
- Mit der Überprüfungsfunktion wird überprüft, ob die Datei eine Bilddatei ist
- 'Der Parameter -Dateiname ist der Pfad zur lokalen Datei
- „Wenn es sich um eine Datei JPEG, GIF, BMP, PNG -Bild handelt, gibt die Funktion true zurück, andernfalls gibt es false zurück
- '****************************************** *********************
- constadypebinary = 1
- Dimjpg (1): jpg (0) = cByte (& hff): jpg (1) = cByte (& hd8)
- DIMBMP (1): BMP (0) = CBYTE (& H42): BMP (1) = CBYTE (& H4D)
- DimPng (3): png (0) = cByte (& h89): png (1) = cByte (& h50): png (2) = cByte (& h4e): png (3) = cByte (& h47)
- Dimgif (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.writecheckFileType (server.mappath (2.gif))
- Funktionscheckfiletyp (Dateiname)
- onErrorresumeNext
- Checkfiletype = false
- DimfStream, Fileext, Stempel, i
- Dateiext = Mid (Dateiname, Instrrev (Dateiname,.)+1)
- setfstream = server.createObject (adodb.stream)
- fstream.open
- fstream.type = adypebinary
- fstream.loadfromFileFileName
- fstream.position = 0
- selectCaseFileext
- CASEJPG, JPEG
- Stempel = fstream.read (2)
- fei = 0to1
- IFACB (MIDB (Stempel, i+1,1)) = jpg (i) thenCheckFiletype = trueScheckFiletype = false
- nächste
- Casegif
- Stempel = fstream.read (6)
- fei = 0to5
- IFACB (MIDB (Stempel, i+1,1)) = gif (i) thenCheckFiletype = trueScheckFiletype = false
- nächste
- Casepng
- Stempel = fstream.read (4)
- fei = 0to3
- IFACB (MIDB (Stempel, i+1,1)) = png (i) thenCheckFiletype = trueScheckFiletype = false
- nächste
- CASSBMP
- Stempel = fstream.read (2)
- fei = 0to1
- IFACB (MIDB (Stempel, i+1,1)) = BMP (i) ThenCheckFiletype = trueSeTheckFiletype = false
- nächste
- Endauswahl
- fstream.close
- setfsetem = nichts
- ireerr.number <> 0TheCheckFiletype = false
- Endfunktion
- %>
Die oben genannte Analyse des Prinzips von Trojanern verhindern das Hochladen von Bildern von ASP.