때때로 프로그램을 통해 트로이 목마를 업로드 할 때는 일반적으로 사진으로 위장됩니다.
먼저 파일 크기를 결정합니다.
- iffile.filesize <10then
- response.write (<cript> alert ( '파일 업로드를 선택하지 않았다') </script>)
- response.write (<cript> history.go (-1) </script>)
- 응답 ()
- endif
파일을 서버에 업로드 한 후 사용자 파일의 위험한 작동 문자를 결정합니다.
- setmyfile = server.createobject (scripting.filesystemobject)
- setMyText = myFile.opentExtFile (FilePath, 1) '텍스트 파일 읽기
- stextall = lcase (mytext.readall)
- mytext.close
- setmyfile = 아무것도
- sstr = .getfolder | .CreateFolder | .DeleteFolder | .CreatEdirectory | .DeletEdirectory | .Saveas
- | wscript.shell | script.encode | server. | .CreateObject | execute | activexobject | 언어 =
- snostring = split (sstr, |)
- fori = 0toubund (snostring)
- ifinst (Stextall, Snostring (i))
- setFiledel = server.createObject (scripting.filesystemobject)
- filedel.deletefilefilepath
- setFiledel = 아무것도
- response.write (<cript> alert ( '업로드 한 파일에 문제가 있습니다. 업로드 실패'; window.close (); </script>)
- 응답 ()
- endif
- 다음
트로이 목마 섹스 사진이 업로드되는 것을 방지하는 방법
문제 없이이 코드를 확인했는데 트로이 목마 사진의 업로드를 차단할 수 있습니다.
- <%
- '******************************************* ***** *****************
- 'CheckFileType 함수는 파일이 이미지 파일인지 확인하는 데 사용됩니다.
- '파라미터 파일 이름은 로컬 파일의 경로입니다.
- '파일 인 JPEG, GIF, BMP, PNG 사진 인 경우 함수는 TRUE를 반환합니다. 그렇지 않으면 False를 반환합니다.
- '******************************************* ***** *****************
- constadtypebinary = 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))
- functioncheckfileType (filename)
- onerrorresumenext
- CheckFileType = false
- Dimfstream, FileExt, Stamp, i
- fileExt = mid (filename, instrev (filename,.)+1)
- setfstream = server.createobject (adodb.stream)
- fstream.open
- fstream.type = adtypebinary
- fstream.loadfromfilefilename
- fstream.position = 0
- selectCaseFileExt
- CaseJPG, JPEG
- Stamp = fstream.read (2)
- fori = 0to1
- ifacb (midb (Stamp, i+1,1)) = jpg (i) thecheckfiletype = trueelsecheckfiletype = false
- 다음
- CaseGif
- Stamp = fstream.read (6)
- fori = 0to5
- ifacb (midb (Stamp, i+1,1)) = gif (i) thecheckfiletype = trueelseckeckfiletype = false
- 다음
- Casepng
- Stamp = fstream.read (4)
- fori = 0to3
- ifacb (midb (Stamp, i+1,1)) = png (i) thecheckfiletype = trueelsecheckfiletype = false
- 다음
- CASEBMP
- Stamp = fstream.read (2)
- fori = 0to1
- ifacb (midb (Stamp, i+1,1)) = bmp (i) thecheckfiletype = trueelsecheckfiletype = false
- 다음
- EndSelect
- fstream.close
- setfsetem = 아무것도
- iferr.number <> 0thencheckfiletype = false
- 최종 기능 장애
- %>
위의 것은 트로이 목마의 원리를 ASP의 사진을 업로드하는 것을 방지하는 것입니다.