RSS
热门关键字:  时间 autorun AVG key 百度
当前位置 :| 首页 > 桌面安全 > WEB安全 >

网页恶意代码的技术基础WSH

来源: 作者: 时间:2007-01-19 09:58:03 点击:

  现在,就让我们来看看脚本文件经由 WSH 执行的过程。为了更加直观,笔者根据有关资料绘制了一幅工作流程图(图2),从图中大家能对 WSH 在脚本文件运行中所起到的作用有个理性认识。对于这个流程图,还需要补充两点:1、图中第(2、3)步,WSH 根据脚本文件后缀名,到系统注册表中查询所需的脚本引擎时,VBScript 和 JScript 两种语言的解析引擎是 Windows 系统中原有的,而其它脚本语言的解析引擎,如 PERL、TCL等,需要用户另行定义;2、第(5)步执行脚本命令时,一些脚本指令会使用到 WSH 内置对象所提供的服务(参见本文第二部分),例如处理注册表项。这时,脚本指令就会向 WSH 提出请求,并由 WSH 完成所需任务。也正是在这一步,WSH 的功用得到了淋漓尽致的发挥。



(图2)


四、WSH 怎么用?

  谈到这个问题,就不太好讲了。正如前面所述,WSH 实际上是一个脚本语言的运行环境,它之所以具备强大的功能,是在于充分挖掘了脚本语言的潜力。因此,如果抛开脚本语言而空谈 WSH ,那实际上就没有了意义。而如果再展开来讲述脚本语言,显然就离开了今天的主题。

  在这种情况下,只好采取一种折衷的方法:给大家推荐几个脚本文件利用 WSH 执行任务的实例,希望大家能通过这些例子对 WSH 的使用有一个初步的了解。

  脚本文件的编写十分方便,你可以选用任意一个文字编辑软件进行编写,写完后,你只需将它保存为 WSH 所支持的文件名就行了(如 ..js 文件、.vbs 文件)。最常用的编辑器当然就是我们的记事本(Notepad)了,下面的实例都是以它作为工具编写的。

  准备好了吗?让我们先来看一个最简单的例子吧。打开记事本,在上面写下:

  WScript.Echo("走近 WSH")

  好了,将它保存为以 ..vbs 或 .js 为后缀名(可千万不要弄成了 ..txt)的文件并退出记事本。双击执行这个文件,看看结果吧,是不是很有意思?

  有了第一印象后,我们继续往下看。

  这一次,我们要利用 WSH 完成一次创建十个文件夹的工作。代码如下:

  dim objdir
  set objdir=wscript.createobject("scripting.filesystemobject")
  for k=1 to 10
  anewfolder="c:\chapter" & k
  objdir.createfolder(anewfolder)
  next

  同样,将它存为 .vbs 文件并退出。运行后,我们会发现,C 盘根目录下一次性多出了十个新文件夹。
  最后,再举一个在服务器上的运用。下面的代码将帮助你重新启动指定的 IIS 服务:

  ' define a constant for stopped services
  Const ADS_SERVICE_STOPPED = 1

  ' get an ADSI object for a computer
  Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")

  ' get an object for a service
  Set objService = objComputer.GetObject("Service","MYSERVICE")

  ' check to see if the service is stopped
  If (objService.Status = ADS_SERVICE_STOPPED) Then

  ' if the service is stopped, then start it
  objService.Start

  End If

  将它以 startsvc.vbs 为名保存在 C: 盘根目录。并通过如下命令执行:CSCRIPT C:\STARTSVC.VBS 。运行后,经你指定的 IIS 服务项将被重新开启。

  已经举了三个例子,其实,在 Windows 的 samples 目录下,有个 WSH 文件夹,那里面有不少很具代表性的 .vbs 和 .js 脚本文件。大家有空可以打开来看看,相信会受益匪浅的。

  此外,利用 WSH ,我们还可以自己编写脚本文件来提高网络管理方面的效率。但由于受条件限制,本人在这方面的使用心得并不多,因此也就不好多说了^_^。不过,网上这方面现成的代码倒是很多,大家有兴趣可以去研究一下。

五、WSH 有不足吗?

  答案当然是肯定的。任何事物都有两面性,WSH 也不例外。应该说,WSH 的优点在于它使我们可以充分利用脚本来实现计算机工作的自动化;但不可否认,也正是它的这一特点,使我们的系统又有了新的安全隐患。许多计算机病毒制造者正在热衷于用脚本语言来编制病毒,并利用 WSH 的支持功能,让这些隐藏着病毒的脚本在网络中广为传播。去年曾名燥一时的 I Love You 便是一个典型代表。因此,大家对于来历不明、尤其是邮件附件里的一些脚本文件还是应该保持戒备。至于相应的防范措施,笔者在别的文章中已有论述,在此就不再罗嗦了。

  以上文字,希望能对大家认识 WSH 有所帮助。在运用过程中,大家若有什么心得或发现,别望了一起分享哦。
最新评论共有 位网友发表了评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
验证码:
匿名?
栏目列表
栏目最新
热点关注
相关文章