Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > asp技巧

淘特asp木马扫描器的代码

来源:中文源码网    浏览:181 次    日期:2024-05-16 12:36:08
【下载文档:  淘特asp木马扫描器的代码.txt 】


淘特ASP木马扫描器的代码
+-----------------+ |淘特ASP木马扫描器| +-----------------+   本程序可以扫描服务器上的所有指定类型(asp,cer,asa,cdx)的文件,查出可疑的木马程序。系统采用扫描程序与病毒库分离的形式, 以后升级只需像杀毒软件那样升级病毒库就可以了。目前可以查杀所有流行的ASP木马程序。   系统提供了全站扫描、按文件夹和指定文件扫描三种扫描方式,如果网站文件比较少的话,推荐使用"全站扫描",如果文件比较多,推荐 使用按文件夹扫描。扫描过程,系统会记录被扫描过的文件列表,同时对怀疑是木马程序的文件以列表的形式展现,为了便于比较最近有可能 被上传过ASP木马程序,系统特别对当前时间7日内修改、创建的文件以加红显示;系统会对怀疑是木马的文件作出"级别"判断,并加以颜色区分 ;建议对级别为"一般"的程序作手动检查后,再作处理,对级别为"严重"的文件,可以点击"文件名称"下的文件链接,一般打开后木马程序都会 有一个登录提示,这时就点击"文件名称"下的"删除"链接,直接将文件从服务器中删除即可。如果担心会误删除,可以先点击"下载"将文件备份。 使用方法: 将本程序解压后的文件上传至服务器中。执行:http://你的网址/scan.asp +-----------------+ |登录密码:totscan| +-----------------+virus_lib.asp复制代码 代码如下:<% dim virus(1,7),virus_Regx(1,4) '定义木马组件 virus(0,0)="WScript" virus(1,0)="级别:严重!
WScript 多为木马关键字" virus(0,1)="Shell" virus(1,1)="级别:严重!
Shell 多为木马关键字" virus(0,2)="Shell.Application" virus(1,2)="级别:严重!
asp 组件,一般多为木马所用" '海阳组件 virus(0,3)="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8" virus(1,3)="级别:严重!
asp WScript 组件,一般多为木马所用" virus(0,4)="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B" virus(1,4)="级别:严重!
asp wscript 组件,一般多为木马所用" virus(0,5)="clsid:093FF999-1EA0-4079-9525-9614C3504B74" virus(1,5)="级别:严重!
asp net 组件,一般多为木马所用" virus(0,6)="clsid:F935DC26-1CF0-11D0-ADB9-00C04FD58A0B" virus(1,6)="级别:严重!
asp net 组件,一般多为木马所用" virus(0,7)="clsid:0D43FE01-F093-11CF-8940-00A0C9054228" virus(1,7)="级别:严重!
asp fso 组件,一般多为木马所用" '定义木马关键字 virus_Regx(0,0)="@\s*LANGUAGE\s*=\s*[""]?\s*(vbscript|jscript|javascript).encode\b" virus_Regx(1,0)="级别:严重!
脚本被加密了,一般ASP文件是不会加密的。" virus_Regx(0,1)="\bEval\b" virus_Regx(1,1)="级别:一般!
eval()函数可以执行任意ASP代码,被一些后门利用。其形式一般是:ev"&"al(X)
但是javascript代码中也可以使用,有可能是误报。" virus_Regx(0,2)="[^.]\bExecute\b" virus_Regx(1,2)="级别:一般!
execute()函数可以执行任意ASP代码,被一些后门利用。其形式一般是:ex"&"ecute(X)。" virus_Regx(0,3)="Server.(Execute|Transfer)([ \t]*|\()[^""]\)" virus_Regx(1,3)="级别:一般!
不能跟踪检查Server.e"&"xecute()函数执行的文件。请管理员自行检查。" virus_Regx(0,4)="CreateObject[ |\t]*\(.*\)$[^adodb.recordset]" virus_Regx(1,4)="级别:一般!
Crea"&"teObject函数使用了变形技术,仔细复查" %>scan.asp复制代码 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% server.ScriptTimeout =90000 dim act act=request.QueryString("act") Const PASSWORD = "totscan" if act="login" then if request.Form("pwd") = PASSWORD then session("login")="ok" end if %> Asp木马扫描器

Asp木马扫描器


<% If Session("login") <> "ok" then call LoginForm() else dim pathStr if request("path")<>"" then pathStr=request("path") else pathStr=server.MapPath("/") end if response.Write("←返回
"&Chr(10)) if act="scan" then dim ScanFileType,Suspect,ScanFileNum,ScanFolderNum,BeginTime,EndTime,TmpPath,Report ScanFileType = "asp,cer,asa,cdx" Suspect = 0 ScanFileNum = 0 ScanFolderNum =0 BeginTime = timer response.Write("") Call ShowResult() EndTime = timer response.write "
执行时间:"&cstr(int(((EndTime-BeginTime)*10000 )+0.5)/10)&"毫秒" elseif act="del" then Call DelFile(request.QueryString("file")) response.Write("
返回") elseif act="down" then Call Download(request.QueryString("file")) else call FileList(pathStr) call ScanForm() end if end if %>
<% Sub LoginForm %>
Password:
<% end Sub Sub ScanForm %>
<% end sub '遍历处理path及其子目录所有文件 Sub FileList(Path) Set FSO = CreateObject("Scripting.FileSystemObject") if not fso.FolderExists(path) then exit sub Set folders = FSO.GetFolder(Path)'目录下所有对象 Set files = folders.files Set subfolders = folders.SubFolders '列表文件夹 For Each fl in subfolders response.Write(""&fl.name&""&Chr(10)) response.Write("扫描
"&Chr(10)) Next '列表文件 For Each file_f in files response.Write(""&file_f.name&""&Chr(10)) response.Write("扫描
"&Chr(10)) Next set folders=nothing set files=nothing set subfolders=nothing Set FSO = Nothing End Sub Sub ShowResult %>
扫描完毕!一共检查文件夹<%=ScanFolderNum%>个,文件<%=ScanFileNum%>个,发现可疑点<%=Suspect%>

<%=Report%>

文件名称 特征码 描述 创建/修改时间
<% end Sub '遍历处理path及其子目录所有文件 Sub ScanFolder(Path) dim folders,files,subfolders ScanFolderNum = ScanFolderNum + 1 Set FSO = CreateObject("Scripting.FileSystemObject") if not fso.FolderExists(path) then exit sub Set folders = FSO.GetFolder(Path) Set files = folders.files For Each myfile in files If CheckExt(FSO.GetExtensionName(path&"\"&myfile.name)) Then Call ScanFile(Path&"\"&myfile.name, "") End If Next Set subfolders = folders.SubFolders For Each f1 in subfolders ScanFolder path&"\"&f1.name Next set folders=nothing set files=nothing set subfolders=nothing Set FSO = Nothing End Sub '检测文件 Sub ScanFile(FilePath, InFile) dim FSOs,ofile,filetxt,fileUri,vi ScanFileNum = ScanFileNum + 1 response.Write("扫描文件:"&FilePath&vbcrlf) response.Flush() If InFile <> "" Then Infiles = "该文件被"& InFile & "文件包含执行" End If Set FSOs = CreateObject("Scripting.FileSystemObject") on error resume next set ofile = fsos.OpenTextFile(FilePath) filetxt = Lcase(ofile.readall()) If err Then Exit Sub end if if len(filetxt)>0 then '特征码检查 fileUri = ""&replace(FilePath,server.MapPath("\")&"\","",1,1,1)&"
" fileUri=fileUri&"操作: 删除" fileUri=fileUri&" 下载" for vi=0 to ubound(virus,2) If instr(filetxt, Lcase(virus(0,vi))) then Report = Report&""&fileUri&""&virus(0,vi)&""&virus(1,vi)&infiles&"创建:"&GetDateCreate(filepath)&"
修改:"&GetDateModify(filepath)&"" Suspect = Suspect + 1 End if next for vi=0 to ubound(virus_Regx,2) Set regEx = New RegExp regEx.IgnoreCase = True regEx.Global = True regEx.Pattern = virus_Regx(0,vi) If regEx.Test(filetxt) Then Report = Report&""&fileUri&""&virus_Regx(0,vi)&""&virus_Regx(1,vi)&infiles&"创建:"&GetDateCreate(filepath)&"
修改:"&GetDateModify(filepath)&"" Suspect = Suspect + 1 End If next 'Check include file Set regEx = New RegExp regEx.IgnoreCase = True regEx.Global = True regEx.Pattern = "

相关内容