人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

網(wǎng)頁“黑手”如何入侵你的Windows系統(tǒng)

發(fā)布日期:2021-12-31 21:34 | 文章來源:源碼之家
網(wǎng)絡(luò)的流行,讓我們的世界變得更加美好,但它也有讓人不愉快的時候。比如,當(dāng)你收到一封主題為“I Love You”的郵件,興沖沖的雙擊附件想欣賞一下這封“情書”的時候,卻在無意當(dāng)中成為了病毒的受害者和傳播者;或者在瀏覽某個網(wǎng)頁的時候,瀏覽器標(biāo)題欄就變成了類似“歡迎光臨……”,而默認(rèn)主頁也被修改,并且自己的注冊表莫名其妙的被“鎖定”了,即當(dāng)我們運行“regedit.exe”時,系統(tǒng)彈出一個諸如:“注冊表已被管理員所禁用,請找系統(tǒng)管理員聯(lián)系……”等等字樣;更有甚者,聽說瀏覽網(wǎng)頁時,自己的硬盤還可能會被悄悄格式化……太可怕了!真有這樣的事嗎?

  當(dāng)然是真的,不信,那你敢接著往下看嗎?。

  其實這個愛蟲病毒(“I Love You”的郵件)和那些惡意破壞你系統(tǒng)的網(wǎng)頁并不可怕,它們都是由幾句并不復(fù)雜的VB Script代碼編寫而成的,只要你弄清楚其中的道理,就自然會有應(yīng)付它們的辦法,那時候你還會擔(dān)心它們嗎?本文就對破壞系統(tǒng)的網(wǎng)頁“黑手”加以分析,并給出防范和修復(fù)方法,讓大家都能過上“平安幸福的生活”。

  說道VB Script,還得從WSH說起。

  一、什么是WSH?

  WSH是Windows Scripting Host(Windows腳本主機(jī))的縮略形式。WSH這個概念最早出現(xiàn)于Windows 98操作系統(tǒng),是一個基于32 位 Windows 平臺、并獨立于語言的腳本運行環(huán)境。比如:你自己編寫了一個腳本文件,如后綴為 .vbs 或 .js 的文件,然后在 Windows 下雙擊并執(zhí)行它,這時,系統(tǒng)就會自動調(diào)用一個適當(dāng)?shù)某绦騺韺λM(jìn)行解釋并執(zhí)行,而這個程序,就是 Windows Scripting Host,程序執(zhí)行文件名為 Wscript.exe (若是在DOS命令提示符下,則為 Cscript.exe)。

  想知道自己的機(jī)器上有沒有WSH嗎?查看一下你的機(jī)器里有沒有“Wscipt.exe”或者“Cscript.exe”這兩個文件就可以了。如果找到,恭喜你!你已經(jīng)安裝了WSH。否則,自己手動安裝吧:

  在Windows 98環(huán)境下,WSH是作為操作系統(tǒng)的一個組件自動安裝的,如果不慎丟失了這個組件,可以從依次打開“控制面板-->添加/刪除程序--〉Windows安裝程序--〉附件”,然后將“Windows Scripting Host”前的劃上“√”,再確定即可完成WSH組件的安裝。

  二、腳本語言與WSH的關(guān)系

  大家知道,腳本語言(包括JavaScript和VBscript語言等)經(jīng)常會被植入網(wǎng)頁之中(其中包括 HTML 頁面客戶機(jī)端和 ASP 頁面服務(wù)器端)。對于植入 HTML 頁面的腳本,其所需的解析引擎會由 IE 這樣的網(wǎng)頁瀏覽器載入;對于植入 ASP 頁面的腳本,其所需的解析引擎會由 IIS(Internet Information Services)提供。而對于出現(xiàn)在 HTML 和 ASP 頁面之外的腳本(它們常以獨立的文件形式存在),就需要經(jīng)由 WSH 來處理了。需要說明的是:WSH 要想正常工作,還要安裝IE 3.0 或更高版本的 IE,因為 WSH 在工作時會調(diào)用 IE 中的 VBScript 和 JavaScript 解析引擎。 [未結(jié)束][iduba_page]在這些被植于網(wǎng)頁的腳本語言中,絕大多數(shù)是與網(wǎng)絡(luò)安全無關(guān)的。但也有少數(shù)別有用心的好事者,把一些嚴(yán)重危及網(wǎng)絡(luò)安全的代碼(我們常常稱之為“惡意代碼”,他們通常都要通過修改注冊表達(dá)到“惡意”的目的?。?,混放在正常的腳本之中,常常讓我們防不勝防。但是,如果我們了解一點關(guān)于腳本語言的知識,這些“伎倆”都是非常容易識破的。還是讓我們從幾個簡單的實例開始吧……
三、WSH應(yīng)用舉例

  WSH可以處理腳本程序,怎樣閱讀和編寫WSH的腳本源文件呢?只要你有一點Basic(會VB的編程更好,呵呵)語言的基礎(chǔ),學(xué)會看懂WSH腳本語言的程序并不是一件難事。去C:WINDOWSSAMPLESWSH目錄以下將看看吧!里面提供了幾類經(jīng)典的腳本例子,而且分別提供了VBScript和JavaScript兩個版本,我們只要用記事本打開它們并仔細(xì)研究就不難學(xué)到一些基本的WSH應(yīng)用。

  你只需在記事本中依次輸入以下每個實例中的代碼,并保存為相應(yīng)的“*.vbs”文件,雙擊這個文件,你就可以看到相應(yīng)的效果了。

  〖實例一〗效果:彈出對話框窗口“歡迎共同學(xué)習(xí)WSH”。

  WScript.Echo(“歡迎共同學(xué)習(xí)WSH”)

  〖實例二〗效果:在D盤根目錄下建立二十個新文件夾。

  dim objdir

  set objdir=WScript.Createobject("Scripting.filesystemobject")

  for k=1 to 20

  sNewFolder="d:WSHsample" & k ‘給新的文件夾命名

  objdir.Createfolder(sNewFolder)

  next

  〖實例三〗效果:使用 Windows Scripting Host 在c:創(chuàng)建一個文本文件testfile.txt

  ‘text.vbs 這是本文件的文件名

  Set RegWsh = Wscript.CreateObject("Wscript.Shell")

  RegWsh.Run ("notepad " & Wscript.ScriptFullName)

  ‘上面用SHELL對象啟動程序

  Set fs = Wscript.CreateObject("Scripting.FileSystemObject")

  Set a = fs.CreateTextFile("c:testfile.txt", True)

  a.WriteLine("這只是一次測試。請檢查你的機(jī)器的c:是否有testfile.txt文件出現(xiàn)?")

  a.Close

  很簡單,是吧?呵呵,是的。只要你有一點點程序設(shè)計的基礎(chǔ),看懂以上幾個實例中的代碼是非常容易的,你也可以試著編制一些類似的“腳本”實例了……

  然而,正是因為腳本編程的門檻低,容易上手,所以在給我們的生活帶來方便和高效的同時,也為少數(shù)“不法分子”提供了可乘之機(jī)。常見的惡意代碼有什么特征呢?最根本的一條就是對系統(tǒng)注冊表的訪問。怎樣利用腳本訪問注冊表? [未結(jié)束][iduba_page]四、用VBScript腳本訪問注冊表

  用VBScript或者Javascript都可以編寫腳本程序。鑒于VBscript語言更接近VB,相信有更多的朋友都是從BASIC語言開始學(xué)編程的。所以本文不想介紹Javascript,而重點介紹VBscript。用VBscript編寫的WSH程序文件的擴(kuò)展名為.vbs,該腳本程序在圖形界面下是由wscript.exe文件解釋執(zhí)行的,一般直接雙擊.vbs文件即可由系統(tǒng)自動調(diào)用wscript.exe進(jìn)行解釋并執(zhí)行。在字符界面(DOS方式)下則是由cscript.exe文件解釋執(zhí)行的,命令格式為:cscript filename.vbs。先來看看幾個相關(guān)的操作和方法:
1、創(chuàng)建對象

  用VBScript訪問注冊表,必須先創(chuàng)建一個能與操作系統(tǒng)溝通的對象,再利用該對象的各種方法對注冊表進(jìn)行操作,創(chuàng)建這個對象的方法和格式如下:

  Set 對象變量名=WScript.CreateObject("WScript.Shell")

  如:Set regwsh=WScript.CreateObject("WScript.Shell") 就可以創(chuàng)建一個名為“regwsh”的對象。

  2、該對象常用的方法

  有了以上這個對象,還要借助它的幾個重要的方法,才能達(dá)到訪問注冊表的目的。常用的方法有:

  ①讀注冊表鍵值的操作RegRead

  格式:object.RegRead(路徑參數(shù))

  ②創(chuàng)建/修改注冊表鍵值的操作RegWrite

  格式:RegWrite 路徑參數(shù), 值 [,值類型]

  說明:當(dāng)被操作的“路徑參數(shù)”不存在時,創(chuàng)建該主鍵或鍵值;反之,則修改原有的鍵值。

  ③刪除注冊表鍵值的操作RegDelete

  格式:RegDelete 路徑參數(shù)

  3、關(guān)于路徑參數(shù)的說明

  該路徑參數(shù)指出了操作的對象。它由根鍵、主鍵路徑和鍵值三部分組成,各部分表示的方法如下:

 ?、俑I

  根鍵有兩種表示方法:縮寫形式(short)和完整形式(Long)。相互的對應(yīng)關(guān)系為:

  Short Long

  HKCU HKEY_CURRENT_USER

  HKLM HKEY_LOCAL_MACHINE

  HKCR HKEY_CLASSES_ROOT

  而對于 HKEY_USERS 和 HKEY_CURRENT_CONFIG 兩個根鍵則沒有縮寫形式。

 ?、谥麈I路徑

  主鍵路徑就是目標(biāo)鍵在注冊表中的主鍵位置,各個主鍵之間用""符分隔開。如:"SoftwareMicrosoftWindowsCurrentVersionPolicies"

 ?、坻I值

  鍵值參數(shù)可以省去不寫。在這種情況下,整個路徑參數(shù)就以""結(jié)尾。這時,所有的操作都只針對整個主鍵來進(jìn)行,而不是該主鍵的某個鍵值。如果想對某個主鍵下的某個鍵值進(jìn)行操作,則應(yīng)包含這一部分,直接接在主鍵路徑之后即可。

  例如一個完整的路徑參數(shù)如下所示:"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun" [未結(jié)束][iduba_page]4、應(yīng)用舉例
〖應(yīng)用之一〗

  以下將是一個創(chuàng)建、讀取顯示、修改和刪除注冊表項的腳本示例。程序在每一次進(jìn)行注冊表的操作之前,都會給出相應(yīng)的提示,建議大家在運行本程序之前,用一個窗口打開本腳本的源代碼,在另一個窗口打開注冊表編輯器,并找到HKEY_CURRENT_USER根鍵。在每一次出現(xiàn)提示之后,不要急于點擊“確定”,按<TAB>鍵切換到注冊表編輯窗口,按下<F5>刷新一下注冊表的相關(guān)鍵值,并觀察程序的執(zhí)行情況與注冊表變化之間的關(guān)系。最后切換到提示窗口,按下“確定”繼續(xù)程序的執(zhí)行。這樣,相信大家都能立即理解并學(xué)會這幾個方法的使用方法。源代碼如下:

  ‘DEMO.vbs 這是腳本程序的文件名

  Dim RegWsh,sReadKey,sPrompt,sFixprompt

  sFixprompt=chr(13)&chr(10)&" 是否與寫入的內(nèi)容相一致?:) :-) :--)"

  MsgBox "此腳本顯示如何創(chuàng)建、讀取、修改和刪除注冊表項。"

  Set RegWsh = WScript.CreateObject("WScript.Shell")

  MsgBox "創(chuàng)建項 HKCUMyRegKey,數(shù)值為 ‘一級鍵值‘"

  RegWsh.RegWrite "HKCUMyRegKey", "一級鍵值"

  sReadKey=RegWsh.RegRead("HKCUMyRegKey")

  sPrompt="(默認(rèn))鍵值為:‘"&sReadKey&"‘"&sFixprompt

  msgbox "讀取的HKCUMyRegKey下"&sPrompt

  MsgBox "創(chuàng)建項 HKCUMyRegKeyEntry,數(shù)值為 ‘二級子鍵‘"

  RegWsh.RegWrite "HKCUMyRegKeyEntry", "二級子鍵"

  sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry")

  sPrompt="(默認(rèn))鍵值為:‘"&sReadKey&"‘"&sFixprompt

  msgbox "讀取的HKCUMyRegKeyEntry下"&sPrompt

  MsgBox "修改 HKCUMyRegKeyEntry(默認(rèn))鍵值為:‘修改后的二級子鍵‘"

  RegWsh.RegWrite "HKCUMyRegKeyEntry", "修改后的二級子鍵"

  sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry")

  sPrompt="(默認(rèn))鍵值已經(jīng)修改為:‘"&sReadKey&"‘"&sFixprompt

  msgbox "讀取的HKCUMyRegKeyEntry下"&sPrompt

  MsgBox "將數(shù)值項 HKCUMyRegKeyValue 設(shè)為字符類型(REG_SZ),數(shù)值為 1"

  RegWsh.RegWrite "HKCUMyRegKeyValue", 1

  MsgBox "將數(shù)值項 HKCUMyRegKeyEntry 設(shè)為 雙字節(jié)型(REG_DWORD),數(shù)值為 2"

  RegWsh.RegWrite "HKCUMyRegKeyEntry", 2, "REG_DWORD"

  MsgBox "將數(shù)值項 HKCUMyRegKeyEntryValue1 設(shè)為 二進(jìn)制類型(REG_BINARY),數(shù)值為 3" RegWsh.RegWrite "HKCUMyRegKeyEntryValue1", 3, "REG_BINARY" [未結(jié)束][iduba_page]MsgBox "以下將刪除 HKCUMyRegKeyEntryValue1 數(shù)值"

  RegWsh.RegDelete "HKCUMyRegKeyEntryValue1"

  MsgBox "以下將刪除 HKCUMyRegKeyEntry 主鍵"

  RegWsh.RegDelete "HKCUMyRegKeyEntry"

  MsgBox "以下將刪除 HKCUMyRegKey 主鍵"

  RegWsh.RegDelete "HKCUMyRegKey"

  從上面的例子可以看出,用腳本訪問注冊表其實也很簡單。當(dāng)然,我們也可以將用VBScript編寫的腳本代碼放在網(wǎng)頁文件(Html文檔)之中,這時,一般無需對代碼進(jìn)行任何更改,只需要在VBScript代碼的前后,分別加上<script language=vbs>和</script>即可。下面我們再舉一例進(jìn)行說明:

  〖應(yīng)用之二〗帶毒網(wǎng)頁解析

  點擊這里看帶毒網(wǎng)頁演示。如果提示網(wǎng)頁上有錯誤,請下載到本地運行。

  [說明]:在使用上面這個“〖應(yīng)用之二〗帶毒網(wǎng)頁解析”例子的時候,請注意有一定的危險性。一定要事先做好注冊表的備份!如果出現(xiàn)其他異常情況,請盡快用后文中的recover.htm進(jìn)行恢復(fù)?。?!

  有了前面所學(xué)的知識,我們已經(jīng)知道,在網(wǎng)頁中調(diào)用腳本語言訪問注冊表,其實是很容易的一件事。但如果所訪問的注冊表的鍵值被蓄意的進(jìn)行了惡意的修改……呵呵。我們的系統(tǒng)的安全性就受到了嚴(yán)峻的挑戰(zhàn)。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部