文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何用ntiiframe.vbs批量清除被添加到文件中的恶意代

2023-06-08 15:14

关注

本篇内容介绍了“如何用ntiiframe.vbs批量清除被添加到文件中的恶意代”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

AntiIframe.vbs
#该脚本是批量挂马程序的逆向,用于批量清除被添加到文件中的恶意代码。记事本打开文件可以修改Pattern参数指定要处理的文件名,文件名之间用|隔开(也支持vbs正则表达式)。由于要修改文件,请谨慎的使用(最好先备份文件)
#用法: CScript AntiIframe.vbs [处理的路径] [包含清除内容的文件]
#例子: CScript AntiIframe.vbs d:\Web d:\lake2.txt

复制代码 代码如下:


'-----------------------
'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

“如何用ntiiframe.vbs批量清除被添加到文件中的恶意代”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯