源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ntiIframe.vbs用于批量清除被添加到文件中的恶意代码

  • 时间:2021-01-25 18:04 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ntiIframe.vbs用于批量清除被添加到文件中的恶意代码
AntiIframe.vbs #该脚本是批量挂马程序的逆向,用于批量清除被添加到文件中的恶意代码。记事本打开文件可以修改Pattern参数指定要处理的文件名,文件名之间用|隔开(也支持vbs正则表达式)。由于要修改文件,请谨慎的使用(最好先备份文件) #用法: CScript AntiIframe.vbs [处理的路径] [包含清除内容的文件] #例子: CScript AntiIframe.vbs d:\Web d:\lake2.txt
[u]复制代码[/u] 代码如下:
'----------------------- 'Anti-Iframe in vbs 'Author: lake2 (http://lake2.0x54.org) 'Date:   2007-2-27 'Version: 1.1  '----------------------- '-------- Config Start -------------- '配置要处理的文件名,可使用vbs正则表达式;也可以使用“(index.asp|index.htm|index.html)”枚举格式 Pattern = "^.+\.(htm|html|asp|aspx|php)$" '-------- Config  End  -------------- Call ShowInfo() If WScript.Arguments.Count = 2 Then     If Right(WScript.Arguments.Item(0),1) = "\" Then         if len(WScript.Arguments.Item(0))>3 then              thePath = Mid(WScript.Arguments.Item(0),1,Len(WScript.Arguments.Item(0))-1)         else             thePath = WScript.Arguments.Item(0)         end if     Else         thePath = WScript.Arguments.Item(0)     End If     Call CheckArg(thePath)     WScript.Echo "开始清理,请稍候……"     Call ShowAllFile(thePath)     WScript.Echo vbcrlf & "清理完成!" & vbcrlf Else     Call ShowHelp() End If Sub ShowInfo()     HelpStr = HelpStr & "==============================" & vbcrlf     HelpStr = HelpStr & "=====  欢迎使用雷客图 ASP 站长安全助手vbs版  =====" & vbcrlf     HelpStr = HelpStr & "=====       之  Anti-批量挂马                =====" & vbcrlf     HelpStr = HelpStr & "=====           Author: lake2                =====" & vbcrlf     HelpStr = HelpStr & "=====       Email:lake2@mail.csdn.net        =====" & vbcrlf     HelpStr = HelpStr & "=====   欢迎访问 www.0x54.org 得到更多信息   =====" & vbcrlf     HelpStr = HelpStr & "==============================" & vbcrlf     HelpStr = HelpStr & vbcrlf     WScript.Echo HelpStr End Sub Sub ShowHelp()     HelpStr = HelpStr & "#用法: CScript AntiIframe.vbs [处理的路径] [包含清除内容的文件]" & vbcrlf     HelpStr = HelpStr & "#例子: CScript AntiIframe.vbs d:\Web d:\lake2.txt" & vbcrlf     HelpStr = HelpStr & vbcrlf     WScript.Echo HelpStr End Sub Sub CheckArg(arg)     tmpPath = arg     Set objFSO = WScript.CreateObject ("Scripting.FileSystemObject")     If Not objFSO.FileExists(WScript.Arguments.Item(1)) Then         WScript.Echo "Error:未找到配置文件“" & WScript.Arguments.Item(1) & "”!"         WScript.Quit     ElseIf Not objFSO.FolderExists(tmpPath) Then         WScript.Echo "Error:错误的路径“" & tmpPath & "”!"         WScript.Quit         End If     Set objFSO = Nothing End Sub '遍历处理path及其子目录所有文件 Sub ShowAllFile(Path)     Set FSO = CreateObject("Scripting.FileSystemObject")     Set g = FSO.GetFile(WScript.Arguments.Item(1))     If g.Size > 0 Then         Set ts2 = g.OpenAsTextStream(1, -2)         filecon = ts2.ReadAll         ts2.Close         Set ts2 = Nothing     Else         WScript.Echo "Error:配置文件" & WScript.Arguments.Item(1) & "大小为0!"         WScript.Quit     End If     Set g = Nothing     Set f = FSO.GetFolder(Path)     Set fc2 = f.files     On Error Resume Next     For Each myfile in fc2         If Err Then WScript.Echo "权限不足,不能检查目录"&thePath:exit sub         Set regEx = New RegExp         regEx.IgnoreCase = True         regEx.Global = True         regEx.Pattern = Pattern         If regEx.Test(myfile.name) Then             CheckFile path&"\"&myfile.name, filecon         End If         Set regEx = Nothing             Next     Set fc = f.SubFolders     For Each f1 in fc         ShowAllFile path&"\"&f1.name         Next     Set FSO = Nothing End Sub Sub CheckFile(filepath, filecon2)     xSet = GetCharSet(filepath)     Set tStream = CreateObject("ADODB.Stream")     tStream.type = 1     tStream.mode = 3     tStream.open     tStream.Position=0     tStream.LoadFromFile FilePath     If err Then Exit Sub end if     tStream.type = 2     tStream.charset = xSet     Do Until tStream.EOS         filecon = filecon & LCase(tStream.ReadText(102400))     Loop     tStream.close()     Set tStream = Nothing         If InStr(filecon, filecon2) > 0 Then             filecon = Replace(filecon, filecon2, "")             Set tStream = CreateObject("ADODB.Stream")             tStream.type = 2             tStream.mode = 3             tStream.charset = xSet             tStream.open             tStream.Position=0             tStream.WriteText filecon             tStream.SaveToFile filepath, 2             tStream.close()             Set tStream = Nothing             WScript.Echo "已经修复文件: "&filepath&" ..."         End If End Sub Function GetCharSet(xPath)     Set tStream = CreateObject("ADODB.Stream")     tStream.type = 1     tStream.mode = 3     tStream.open     tStream.Position = 0     tStream.LoadFromFile xPath     byte1 = ascB(tStream.Read(1))     byte2 = ascB(tStream.Read(1))     byte3 = ascB(tStream.Read(1))     tStream.close()     Set tStream = Nothing     If byte1=239 and byte2=187 and byte3=191 Then         GetCharSet = "UTF-8"     Else         GetCharSet = "GB2312"     End If End Function
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部