科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道网页“黑手”如何攻击你的Windows系统(3)

网页“黑手”如何攻击你的Windows系统(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。比如,当你收到一封主题为“I Love You”的邮件,兴冲冲的双击附件想欣赏一下这封“情书”的时候,却在无意当中成为了病毒的受害者和传播者;或者在浏览某个网页的时候,浏览器标题栏就变成了类似“欢迎光临……”,

来源:论坛整理 2008年9月20日

关键字: 安全技术 攻击防范 系统安全

  • 评论
  • 分享微博
  • 分享邮件

 1、创建对象 

  用VBScript访问注册表,必须先创建一个能与操作系统沟通的对象,再利用该对象的各种方法对注册表进行操作,创建这个对象的方法和格式如下: 

  Set 对象变量名=WScript.CreateObject("WScript.Shell") 

  如:Set regwsh=WScript.CreateObject("WScript.Shell") 就可以创建一个名为“regwsh”的对象。 

  2、该对象常用的方法 

  有了以上这个对象,还要借助它的几个重要的方法,才能达到访问注册表的目的。常用的方法有: 

  ①读注册表键值的操作RegRead 

  格式:object.RegRead(路径参数) 

  ②创建/修改注册表键值的操作RegWrite 

  格式:RegWrite 路径参数, 值 [,值类型] 

  说明:当被操作的“路径参数”不存在时,创建该主键或键值;反之,则修改原有的键值。 

  ③删除注册表键值的操作RegDelete 

  格式:RegDelete 路径参数 

  3、关于路径参数的说明 

  该路径参数指出了操作的对象。它由根键、主键路径和键值三部分组成,各部分表示的方法如下: 

  ①根键 

  根键有两种表示方法:缩写形式(short)和完整形式(Long)。相互的对应关系为: 

  Short Long 

  HKCU HKEY_CURRENT_USER 

  HKLM HKEY_LOCAL_MACHINE 

  HKCR HKEY_CLASSES_ROOT 

  而对于 HKEY_USERS 和 HKEY_CURRENT_CONFIG 两个根键则没有缩写形式。 

  ②主键路径 

  主键路径就是目标键在注册表中的主键位置,各个主键之间用""符分隔开。如:"SoftwareMicrosoftWindowsCurrentVersionPolicies" 

  ③键值 

  键值参数可以省去不写。在这种情况下,整个路径参数就以""结尾。这时,所有的操作都只针对整个主键来进行,而不是该主键的某个键值。如果想对某个主键下的某个键值进行操作,则应包含这一部分,直接接在主键路径之后即可。 

  例如一个完整的路径参数如下所示:"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun" [未结束][iduba_page]4、应用举例 

 〖应用之一〗 

  以下将是一个创建、读取显示、修改和删除注册表项的脚本示例。程序在每一次进行注册表的操作之前,都会给出相应的提示,建议大家在运行本程序之前,用一个窗口打开本脚本的源代码,在另一个窗口打开注册表编辑器,并找到HKEY_CURRENT_USER根键。在每一次出现提示之后,不要急于点击“确定”,按<TAB>键切换到注册表编辑窗口,按下<F5>刷新一下注册表的相关键值,并观察程序的执行情况与注册表变化之间的关系。最后切换到提示窗口,按下“确定”继续程序的执行。这样,相信大家都能立即理解并学会这几个方法的使用方法。源代码如下: 

  ‘DEMO.vbs 这是脚本程序的文件名 

  Dim RegWsh,sReadKey,sPrompt,sFixprompt 

  sFixprompt=chr(13)&chr(10)&" 是否与写入的内容相一致?:) :-) :--)" 

  MsgBox "此脚本显示如何创建、读取、修改和删除注册表项。" 

  Set RegWsh = WScript.CreateObject("WScript.Shell") 

  MsgBox "创建项 HKCUMyRegKey,数值为 ‘一级键值‘" 

  RegWsh.RegWrite "HKCUMyRegKey", "一级键值" 

  sReadKey=RegWsh.RegRead("HKCUMyRegKey") 

  sPrompt="(默认)键值为:‘"&sReadKey&"‘"&sFixprompt 

  msgbox "读取的HKCUMyRegKey下"&sPrompt 

  MsgBox "创建项 HKCUMyRegKeyEntry,数值为 ‘二级子键‘" 

  RegWsh.RegWrite "HKCUMyRegKeyEntry", "二级子键" 

  sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry") 

  sPrompt="(默认)键值为:‘"&sReadKey&"‘"&sFixprompt 

  msgbox "读取的HKCUMyRegKeyEntry下"&sPrompt 

  MsgBox "修改 HKCUMyRegKeyEntry(默认)键值为:‘修改后的二级子键‘" 

  RegWsh.RegWrite "HKCUMyRegKeyEntry", "修改后的二级子键" 

  sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry") 

  sPrompt="(默认)键值已经修改为:‘"&sReadKey&"‘"&sFixprompt 

  msgbox "读取的HKCUMyRegKeyEntry下"&sPrompt 

  MsgBox "将数值项 HKCUMyRegKeyValue 设为字符类型(REG_SZ),数值为 1" 

  RegWsh.RegWrite "HKCUMyRegKeyValue", 1 

  MsgBox "将数值项 HKCUMyRegKeyEntry 设为 双字节型(REG_DWORD),数值为 2" 

  RegWsh.RegWrite "HKCUMyRegKeyEntry", 2, "REG_DWORD" 

  MsgBox "将数值项 HKCUMyRegKeyEntryValue1 设为 二进制类型(REG_BINARY),数值为 3" RegWsh.RegWrite "HKCUMyRegKeyEntryValue1", 3, "REG_BINARY" [未结束][iduba_page]MsgBox "以下将删除 HKCUMyRegKeyEntryValue1 数值" 

  RegWsh.RegDelete "HKCUMyRegKeyEntryValue1" 

  MsgBox "以下将删除 HKCUMyRegKeyEntry 主键" 

  RegWsh.RegDelete "HKCUMyRegKeyEntry" 

  MsgBox "以下将删除 HKCUMyRegKey 主键" 

  RegWsh.RegDelete "HKCUMyRegKey" 

  从上面的例子可以看出,用脚本访问注册表其实也很简单。当然,我们也可以将用VBScript编写的脚本代码放在网页文件(Html文档)之中,这时,一般无需对代码进行任何更改,只需要在VBScript代码的前后,分别加上<script language=vbs>和</script>即可。下面我们再举一例进行说明: 

  〖应用之二〗带毒网页解析 

  点击这里看带毒网页演示。如果提示网页上有错误,请下载到本地运行。 

  [说明]:在使用上面这个“〖应用之二〗带毒网页解析”例子的时候,请注意有一定的危险性。一定要事先做好注册表的备份!如果出现其他异常情况,请尽快用后文中的recover.htm进行恢复!!! 

  有了前面所学的知识,我们已经知道,在网页中调用脚本语言访问注册表,其实是很容易的一件事。但如果所访问的注册表的键值被蓄意的进行了恶意的修改……呵呵。我们的系统的安全性就受到了严峻的挑战。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章