木馬原理:入侵者使用諸如ASP圖片木馬生成器之類(lèi)的工具將一張正常的圖片與一個(gè)ASP木馬文件合并成一個(gè)圖片文件(即將對(duì)網(wǎng)站有害的
ASP代碼插在圖片編碼之后,雖然圖片仍然可以正常顯示,但是文件內(nèi)容和尺寸已被改變),然后通過(guò)網(wǎng)站提供的文件上傳功能上傳這一張“合
'法的”圖片,進(jìn)而實(shí)現(xiàn)了上傳ASP木馬的目的。
' 防范方法:因?yàn)檫@種木馬是圖片與木馬的二合一,所以需要在上傳圖片前檢查文件內(nèi)容,若文件內(nèi)容不合法(即包含有惡意代碼在里面),
'則禁止上傳,從而堵住了木馬攻擊的源頭,這是木馬攻擊的第一關(guān),至關(guān)重要,必須堵住。
'***************************************************************************
復(fù)制代碼代碼如下:
'Begin--------------------------------------------------------------------------------------------------------------------------
function CheckFileContent(FileName)
dim ClientFile,ClientText,ClientContent,DangerString,DSArray,AttackFlag,k
set ClientFile=Server.CreateObject("Scripting.FileSystemObject")
set ClientText=ClientFile.OpenTextFile(Server.MapPath(FileName),1)
ClientContent=LCase(ClientText.ReadAll)
set ClientText=nothing
set ClientFile=nothing
AttackFlag=false
DangerString=".getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=|include|filesystemobject|shell.application"
DSArray=split(DangerString,"|")
for k=0 to UBound(DSArray)
if InStr(ClientContent,DSArray(k))>0 then '判斷文件內(nèi)容中是否包含有危險(xiǎn)的操作字符,如有,則必須刪除該文件。
AttackFlag=true
exit for
end if
next
CheckFileContent=AttackFlag
end function
'End----------------------------------------------------------------------------------------------------------------------------