“黑客”必學攻擊之“跨站腳本攻擊”

“黑客”必學攻擊之“跨站腳本攻擊

最近很多小夥伴們看了我的文章給我私信說能不能講講跨站腳本攻擊技術,今天就以本篇文章詳細講解一下黑客常用的攻擊手法"跨站腳本攻擊"。

一、 什麼是跨站腳本攻擊?

官方定義:(Cross Site Scripting),為了不和(Cascading Style Sheets, )的縮寫混淆,故將跨站腳本攻擊簡稱為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,也是web中最主流的攻擊方式。

通俗理解:XSS是指惡意攻擊者利用網站沒有對用戶提交數據進行轉義處理或者過濾不足的缺點,進而添加一些代碼,嵌入到web頁面中去。使別的用戶訪問都會執行相應的嵌入代碼,從而盜取用戶資料、利用用戶身份進行某種動作或者對訪問者進行病毒侵害的一種攻擊方式。

二、 XSS攻擊帶來的危害

這種漏洞(XSS)攻擊通常用於發動cookie竊取、惡意軟件傳播(蠕蟲攻擊),會話劫持,惡意重定向。在這種攻擊中,攻擊者將惡意JavaScript代碼注入到網站頁面中,這樣"受害"者的瀏覽器就會執行攻擊者編寫的惡意腳本。這種漏洞容易找到,但很難修補。

具體危害如下:

1、盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號

2、控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力

3、盜竊企業重要的具有商業價值的資料

4、非法轉賬

5、強制發送電子郵件

6、網站掛馬

7、控制受害者機器向其它網站發起攻擊

三、xss產生根源和攻擊條件

跨站點腳本漏洞的主要原因:是程序員對用戶的信任,開發人員輕鬆地認為用戶永遠不會試圖執行什麼出格的事情,所以他們創建應用程序,卻沒有使用任何額外的代碼來過濾用戶輸入以阻止任何惡意活動。另一個原因是,這種攻擊有許多變體,用製造出一種行之有效的XSS過濾器是一件比較困難的事情。但是這只是相對的,對用戶輸入數據的"編碼"和"過濾"在任何時候都是很重要的,我們必須採取一些針對性的手段對其進行防禦。

實施XSS攻擊需要具備兩個條件:

1、需要向web頁面注入惡意代碼;

2、這些惡意代碼能夠被瀏覽器成功的執行。

看一下下面這個例子:

“黑客”必學攻擊之“跨站腳本攻擊”

這段代碼在舊版的IE8和IE8以下的版本都是可以被執行的,火狐也能執行代碼,但火狐對其禁止訪問DOM對象,所以在火狐下執行將會看到控制裡拋出異常:document is not defined (document是沒有定義的)

再來看一下面這段代碼:

“黑客”必學攻擊之“跨站腳本攻擊”

相信很多程序員都覺得這個代碼很正常,其實這個代碼就存在一個反射型的XSS攻擊,假如輸入下面的地址:

“黑客”必學攻擊之“跨站腳本攻擊”

也許您會覺得把ValidateRequest設置為true或者保持默認值就能高枕無憂了,其實這種情況還可以輸入下面的地址達到相同的攻擊效果:

http://www.xxx.com/?id=xx" onload="alert(/xss/)" x="

四、XSS攻擊的分類

XSS攻擊可以分成兩種類型:

1.非持久型攻擊

2.持久型攻擊

非持久型xss攻擊:顧名思義,非持久型xss攻擊是一次性的,僅對當次的頁面訪問產生影響。非持久型xss攻擊要求用戶訪問一個被攻擊者篡改後的鏈接,用戶訪問該鏈接時,被植入的攻擊腳本被用戶遊覽器執行,從而達到攻擊目的。

持久型xss攻擊:持久型xss,會把攻擊者的數據存儲在服務器端,攻擊行為將伴隨著攻擊數據一直存在。

也可以分成三類:

1、反射型XSS攻擊

又稱為非持久性跨站點腳本攻擊,它是最常見的類型的XSS。漏洞產生的原因是攻擊者注入的數據反映在響應中。一個典型的非持久性XSS包含一個帶XSS攻擊向量的鏈接(即每次攻擊需要用戶的點擊)。

簡單例子

正常發送消息

http://www.test.com/message.php?send=Hello,World!

接收者將會接收信息並顯示Hello,Word

非正常發送消息

http://www.test.com/message.php?send=!

接收者接收消息顯示的時候將會彈出警告窗口

2、存儲型XSS攻擊

又稱為持久型跨站點腳本,它一般發生在XSS攻擊向量(一般指XSS攻擊代碼)存儲在網站數據庫,當一個頁面被用戶打開的時候執行。每當用戶打開瀏覽器,腳本執行。持久的XSS相比非持久性XSS攻擊危害性更大,因為每當用戶打開頁面,查看內容時腳本將自動執行。谷歌的orkut曾經就遭受到XSS。

簡單例子:

從名字就可瞭解到存儲型XSS攻擊就是將攻擊代碼存入數據庫中,然後客戶端打開時就執行這些攻擊代碼。例如留言板

留言板表單中的表單域:

正常操作:

用戶是提交相應留言信息;將數據存儲到數據庫;其他用戶訪問留言板,應用去數據並顯示。

非正常操作:

攻擊者在value填寫【或者html其他標籤(破壞樣式。。。)、一段攻擊型代碼】;

將數據存儲到數據庫中;

其他用戶取出數據顯示的時候,將會執行這些攻擊性代碼

3、DOMBasedXSS(基於dom的跨站點腳本攻擊)

基於DOM的XSS有時也稱為type0XSS。當用戶能夠通過交互修改瀏覽器頁面中的DOM(DocumentObjectModel)並顯示在瀏覽器上時,就有可能產生這種漏洞,從效果上來說它也是反射型XSS。

通過修改頁面的DOM節點形成的XSS,稱之為DOMBasedXSS。

前提是易受攻擊的網站有一個HTML頁面採用不安全的方式從document.location 或document.URL 或 document.referrer獲取數據(或者任何其他攻擊者可以修改的對象)。

簡單例子

“黑客”必學攻擊之“跨站腳本攻擊”

這個例子是個歡迎頁面,name是截取URL中get過來的name參數

正常操作:

http://www.vulnerable.site/welcome.html?name=Joe

非正常操作:

http://www.vulnerable.site/welcome.html?name=

將產生xss條件。讓我們看看為什麼:受害者的瀏覽器接收到這個鏈接,發送HTTP請求到www.vulnerable.site並且接受到上面的HTML頁。受害者的瀏覽器開始解析這個HTML為DOM,DOM包含一個對象叫document,document裡面有個URL屬性,這個屬性裡填充著當前頁面的URL。當解析器到達javascript代碼,它會執行它並且修改你的HTML頁面。倘若代碼中引用了document.URL,那麼,這部分字符串將會在解析時嵌入到HTML中,然後立即解析,同時,javascript代碼會找到(alert(…))並且在同一個頁面執行它,這就產生了xss的條件。

五、跨站腳本漏洞利用的過程

XSS的主要目標是通過把攻擊者選擇的JavaScript、VBScript或者其它為瀏覽器所接受的腳本語言注入到(放進)某些Web應用程序之中。只要攻擊者可以將腳本植入有弱點的Web應用程序中的任何地方,瀏覽器就會認為這個腳本是來自該有弱點的Web應用程序,而非非出自攻擊者之手。

這樣的話,該腳本就能夠在這個有弱點的Web應用程序的域中運行了,並能進行下列活動:有權讀取那個有弱點的Web應用程序使用的Cookie;能夠看到該有弱點的Web應用程序提供的頁面的內容,甚至能將它們發送給黑客;改變有弱點的Web應用程序的外觀;回調運行有弱點的Web應用程序的服務器。

大體上,跨站點腳本攻擊可以分為三步進行:

HTML注入:我們將介紹把腳本注入到Web應用程序的各種可能的方法。所有HTML注入範例只是注入一個JavaScript彈出式的警告框:a_lert(1)。

幹壞事。當受害者點擊了一個被注入了HTML代碼的頁面鏈接時攻擊者能作的各種的惡意事情。

誘捕受害者:如何強制或者誘使受害者執行惡意JavaScript代碼。

HTML注入簡介

將HTML和(更為重要的)腳本代碼注入Web應用程序的方法簡直太多了。如果某個Web應用程序的HTTP響應中"照搬"了在HTTP請求中輸入的內容,例如尖括號、圓括號、句號、等號等,那麼說明這個Web應用程序和域具有HTML注入漏洞,並且該漏洞十有八九可以用於XSS。

本節將為讀者介紹最常見的HTML注入方法,但是無法包括所有方法,因為這些方法是在太多了。對於大多數小型至中型的網站來說,這些技術很可能仍然奏效。只要有耐心,那麼您或許也能夠使用其中的一種技術成功應用於一個大型Web站點。

下面我們將分門別類的介紹各種注入方法。

1、傳統的反射式和存儲式HTML注入

傳統的XSS攻擊是一種反射式的HTML注入攻擊,藉此,一個Web應用程序接受在HTTP請求中的用戶輸入。該Web應用程序會返回一個HTTP響應,其主體中將包含原封不動的用戶輸入。如果該服務器的響應跟用戶的原始輸入完全一致,那麼這些用戶輸入就會被瀏覽器當作有效的HTML、VBScript或者JavaScript進行解釋。考慮下列的服務器端的PHP代碼:

展示了這段代碼放置到http://publicpages.daxue.edu/~someuser/MyPhp.php上後,客戶端看到的頁面內容。

“黑客”必學攻擊之“跨站腳本攻擊”

一個簡單的PHP腳本,用以接收用戶輸入(MyPhp.php)

當用戶點擊"提交查詢"按鈕時,就會生成下列GET請求:

http://public-pages.daxue.edu/~someuser/MyPhp.php?input=hahaha

這個PHP應用程序看到用戶輸入的"hahaha"後,將響應一個頁面,如圖所示。

“黑客”必學攻擊之“跨站腳本攻擊”

用戶輸入"hahaha"後MyPhp.php回覆的響應

下面顯示的是上圖中看到的頁面的HTML 源代碼,為醒目起見用戶輸入的內容這裡以藍色字體顯示。

您輸入的內容為: 'hahaha'.

注意,實際上這裡用戶可以輸入任何東西,例如〈>

http://publicpages.daxue.edu/~someuser/MyPhp.php?input=

如前所述,這個PHP應用程序只是把用戶輸入放到返回的響應頁面中。這時候瀏覽器會把這些用戶輸入的內容當作JavaScript指令,同時認為該腳本來自服務器,這可真是應了那句老話"拿著雞毛當令箭"了,所以瀏覽器就會執行這些JavaScript代碼。下圖展示了用戶看到的樣子。

“黑客”必學攻擊之“跨站腳本攻擊”

上圖 用戶輸入" "後MyPhp.php回覆的響應

[NextPage]上圖中顯示的頁面的源代碼如下所示,其中用戶輸入用藍色字體表示。

您輸入的內容為: ' '.

這是將 注入http://public-pages.daxue.edu/~someuser/MyPhp.php得到的結果。這個例子是一種典型的反射式的HTML注入,因為用戶在HTTP請求中發送JavaScript代碼,同時Web應用程序立即響應(反射回)一個完全相同的JavaScript代碼。只要用戶單擊了下列鏈接,這個腳本就會執行:

http://publicpages.daxue.edu/~someuser/MyPhp.php?input=

從攻擊者的角度來看,利用注入的ML代碼讓惡意的web頁面完成單擊或者指定次數的點擊是非常重要的。假設前面的PHP應用程序只接受POST請求,而不接受GET,如下所示:

在這種情況下,攻擊者無法像上面的GET請求那樣直接通過誘騙受害者點擊一個鏈接來注入HTML代碼;現在,他們必須採取一些額外的步驟。為此,攻擊者可以創建下列HTML頁面:

當用戶單擊了指向上述HTML頁面的鏈接時,就會對http://public-pages.daxue.edu/~someuser/MyPhp.php進行HTML注入。當然,攻擊者也能利用HTML注入幹別的壞事,而不僅僅象徵性地調用一個JavaScript的彈出窗口。

"第二步:做壞事"部分將解釋攻擊者除了彈出一個窗口外還能做些什麼。

存儲式HTML注入跟反射式HTML注入非常相似,唯一區別在於攻擊者將腳本植入Web應用程序後,這些腳本會被Web應用程序存儲到一個可以檢索的地方。例如,對於允許用戶張貼和閱讀消息的網絡論壇,攻擊者可以在張貼消息時注入HTML代碼,然後其它用戶閱讀這則含有腳本的消息時,其中的腳本就會執行。

2、定位存儲式和反射式HTML注入點

為了尋找存儲式和反射式HTML注入點,可以嘗試在所有表單輸入以及GET或者POST請求的所有參數中注入腳本。我們要假設參數/值對中的值都可能有漏洞。甚至嘗試在新生成的參數中注入HTML代碼,如下所示:

〈>

遺憾的是,腳本標籤會被作為用於表單輸入字段的字符串,所以無法執行。相反,嘗試http://search.engine.com/search?p="> 的話,會得到如下所示的HTML應答:

〈 form input='text' name='p' value='〈 ,那麼保不住攻擊者可以注入下列內容:

〈 /title 〉〈script 〉 a_lert( 1 ) 〈 /script 〉

這樣一來就擺脫了title標籤。USERINPUT3被放在一個式樣標籤中,任何人都可以在IE中設置USERINPUT3成下面的樣子:

black; background: url( ' javascript:a_lert( 1 ) ' );

於是他就能夠在Firefox使用它了:

1: ( a_lert( 1 ) )

同樣的,有時候用戶輸入會作為其它的標籤的一部分出現在式樣參數中,如下所示:

如果您可以將USERINPUT3設為下面的值,那麼就能在IE中運行JavaScript了:

javascript : a_lert(1)

或者對於Visual Basic愛好者,可以這樣使用:

vbscript:MsgBox(1)

Firefox不接受帶有JavaScript:協議處理程序的background:url()。然而,Firefox允許JavaScript作為表達式來執行,在Firefox中將USERINPUT3A設為下列值:

); 1:(a_lert(1)

USERINPUT4可以直接利用,只要將USERPINUT4設為:

';a_lert(1);

USERINPUT5被深深嵌入到JavaScript內部。為了插入(確保會執行的)a_lert(1)函數,您必須把a_lert(1)放到所有代碼塊之外,並保證JavaScript代碼的前前後後都是合法的,如下所示:

')){}a_lert(1);if(0)

A_lert(1)之前的文本完成了原先的if語句,因此能確保a_lert(1)函數總是被執行。a_lert(1)之後的文本創建了一個if語句用於剩餘代碼塊,所以腳本標籤之間的全部代碼都是合法的JavaScript代碼。如果不這樣,JavaScript就會因為語法錯誤而無法解釋執行。

您可以使用一些詭計來把JavaScript注入到USERINPUT6中,例如,可以使用下面的方法:

'> <>

或者,如果不允許使用尖括號,則使用一個JavaScript事件處理程序,例如onclick事件處理程序,如下所示:

' onclick='a_lert(1)

USERINPUT7 還可以是這樣:

' ><>

或者:

' style='x: ( a_lert ( 1 ) )

甚至更簡單一些:

javascript: a_lert( 1 )

對於USERINPUT7的前兩條利用方法能保證腳本在裝入頁面時執行,最後一種方法要求用戶單擊鏈接。您可以把它們都試一遍,看看是不是在某些情況下有些字符和字符串是不允許的。

USERINPUT8也面臨類似的HTML注入字符串。下面是使用事件處理程序的最佳方式:

notThere' onerror='a_lert( 1 )

XSS防禦方法通常是對具有潛在惡意性的字符進行轉義或者編碼。舉例來說,如果用戶輸入 到一個文本字段,服務器可能以下列轉義後的字符串作為響應:

[NextPage]

根據轉義後的字符串的所在位置,這些字符串將以本來面目出現並且不會執行。轉義方法比較複雜,所以將在後面的對抗措施中加以詳細討論。大多數轉義例程不是忘記對具有潛在惡意性的字符和字符串進行轉義,就是使用了錯誤的編碼方法進行換碼。例如USERINPUT9,其事件處理程序把HTML實體編碼為ASCII,所以任何人可以用下列兩個字符串上演相同的攻擊:

x'); a_lert ( 1 );

以及:x'); a_lert( 1 )

最後,USERINPUT10可以用事件處理程序利用,並突破輸入標籤,例子如下所示:

x onclick= a_lert ( 1 )

這個例子說明,用戶提供的字符串可以放到HTTP應答中的任何地方,看來真是一切皆有可能呀!

如果您在任何前面的實例中成功進行了HTML注入,那麼該HTML注入就可用於在那個域上的任何地方的XSS。您可以用多種不同的方法來向Web應用程序注入JavaScript。如果你的嘗試曾經導致頁面格式被破壞,諸如截斷頁面、顯示了除您注入以外的腳本,那麼很可能就是找到了一個XSS漏洞。

3、重定向器中的反射式HTML注入

HTML注入的另一個大舞臺是重定向器。有些重定向器允許用戶重定向到任何URL。 遺憾的是,JavaScript:a_lert(1)是一個合法的URL。許多重定向器會對URL進行解析,以確定重定向到那裡是否安全。這些解析器以及他們的程序員並不總是人們想象的那麼聰明,所以像下面的URL:

javascript://www.anywhere.com/%0da_lert( 1 )

以及這個:

javascript://http://www.trustedsite.com/trustedDirectory/%0da_lert( 1 )

可能被接受。在上面的例子中,任何字符串都可以放置在JavaScript註解所用的雙斜槓之間以及URL編碼的換行符(%0d)之間。

4、移動式應用中的HTML注入

有些流行的Web應用程序被移植到移動通信領域。這些移動式應用一般具有相同的功能,但是安全特性更差,並且仍然可以通過諸如IE 以及Firefox之類的瀏覽器進行訪問。 因此,它們是HTML注入攻擊以及跨站請求偽造的理想攻擊目標。

通常情況下,移動式應用作為主要的Web應用程序運行在相同的域上,因此移動式應用中的任何HTML注入都能夠訪問整個域,包括運行在該域上的主要的Web應用程序或者其它的Web應用程序。

5、在Ajax響應以及錯誤信息中的HTML注入

並非所有HTTP應答都會顯示給用戶。類似AJAX響應以及超文本傳輸協議(http)錯誤消息這些頁面通常會被開發人員所忽視。開發人員可能沒有考慮為AJAX響應提供HTML注入保護,因為這些請求通常不是由用戶直接使用的。然而,攻擊者可以用先前的代碼片斷模仿AJAX的GET以及POST請求。

同樣的,超文本傳輸協議(http)錯誤響應,諸如HTTP 404(Not Found)、HTTP 502(Server Error)等等,通常也會被開發人員所忽略。開發人員傾向於假定一切都是HTTP 200(OK)。您可以嘗試觸發其它的響應,而非僅僅HTTP 200,然後試著注入腳本。

6、使用UTF-7編碼進行HTML注入

如果用戶的IE自動選擇編碼集,那麼攻擊者就能規避大多數HTML注入預防措施。就像前面提到的那樣,HTML注入的預防措施一般依賴於對潛在的有害字符進行轉義處理。然而,UTF-7編碼技術使用了無法正常轉義的通用字符,而這些通用字符有時無法被某些Web應用程序進行換碼。 的UTF-7轉義版本將是下面的樣子:

+ADw-script+AD4-a_lert(1)+ADw-/script+AD4-

注意,這是一種不常見的攻擊,因為用戶一般不會打開自動選擇編碼技術選項。當然,也存在其他的利用字符編碼可變長度的UTF編碼攻擊技術,但是這要求對UTF有著深入廣泛的理解,所以它超出了本文的討論範圍。然而,這個問題說明其它編碼(例如MIME類型)的疏漏也是能引起HTML注入的。

7、利用MIME 類型不匹配來進行HTML注入

IE具有許多令人驚訝的未公開特性,例如,IE7 以及之前的版本嘗試加載一個圖像或者其它的非HTML的響應並且失敗時,它會將該響應作為HTML對待。為了弄明白這個情況,我們可以創建一個文本文件,幷包含下列內容:

之後,將其保存為alert.jpg,然後在IE的URL地址欄中或一個iframe中裝載的這個"圖像",這就會導致這裡的JavaScript被執行。

注意,如果該文件是從一個圖像標籤加載的話,它就不會作為腳本執行了。

一般說來,當您試圖上載這樣的一個文件到一個圖像託管服務時,該服務將拒絕這個文件,因為它根本就不是一個圖像。但是圖像託管服務通常情況下會忽視文件的擴展名,而只通過文件的幻數(開始幾個字節)來確定文件類型。

因此,攻擊者可以避開它,方法是用GIF註釋中的HTML來創建一個GIF圖像,然後將這個GIF保存為.jpg文件擴展名的文件。下面是一個單像素的GIF文件,如下所示:

00000000 47 49 46 38 39 61 01 00 01 00 80 00 00 ff ff ff |GIF89a..........|

00000010 ff ff ff 21 fe 19 3c 73 63 72 69 70 74 3e 61 6c |...!.. .|

00000030 2c 00 00 00 00 01 00 01 00 00 02 02 44 01 00 3b |,...........D..;|

將其命名為test.jpg,並在IE中加載它,這會導致執行這段JavaScript。這也是注入Flash跨域政策的一種好方法。只要把Flash安全策略的XML內容放入GIF註釋,並保證這個GIF文件不包含擴展的ASCII字符或者字節NULL即可。您還可以把HTML注入到未壓縮的圖像文件(諸如XPM以及BMP文件)的圖像數據部分,而不是註解中。

8、使用Flash進行HTML注入

在大多數HTML注入情形中,攻擊者可以注入任意的HTML。舉例來說,攻擊可以注入一個對象和/或嵌入一個標籤來加載該域上的Flash應用程序。 下面是一個例子:

這裡的HTML有些繁瑣,但是它將JavaScript應用程序具有的控制權賦予一個Flash應用程序,例如(經過ExternalInterface類)讀取Cookie、(經過ExternalInterface類)改變web頁面外觀、(經過XML類)讀取用戶私人數據以及(經過XML類)以受害者的名義建立HTTP請求。

然而,Flash應用程序有時候會提供更多的功能。例如,flash應用程序可以通過Socket類創建原始的套按字連接。這允許攻擊者構造他們的完整的HTTP數據包(包括通過ExternalInterface類竊取Cookie)或者連接到電腦允許的其它端口上。

注意,Socket連接只能建立到達惡意腳本所源自的域的連接,除非攻擊者為完成攻擊還反射了一個不安全的跨域策略文件。

有些開發人員通過把響應的MIME類型設置為text/plain或者除text /html以外的任何東西來防止AJAX響應被注入HTML。HTML注入將無法進行,因為瀏覽器不會把響應解釋為HTML。然而,Flash並不關心跨域策略文件是哪種MIME類型,所以攻擊者有可能使用AJAX響應來反射一個不安全的跨域策略文件。

這允許惡意的Flash應用程序以受害者名義向有弱點的Web應用程序發送請求,讀取該域上的任意的頁面,並創建到達該域的套按字連接。這種類型的攻擊的威脅相對較弱,因為惡意的Flash應用程序不能竊取Cookie(但是它仍然可以以用戶的名義來完成任何動作),而且它不能在受害的用戶前模仿成應用程序,除非惡意的Flash應用程序將用戶重定向到一個攻擊者控制下的域。

然而,到目前為止,HTML注入所能做的最邪惡的事情還是在受害用戶目前把自己裝扮成Web應用程序,當然,通過其它方法也可以達到此目的,比如反射一個不安全的跨域策略文件,並使用ActionScript的XML類發送HTTP的GET和POST請求並且讀取響應。 在下一節中,我們描述攻擊是如何作惡的。

六、XSS攻擊實例分析

例1、簡單XSS攻擊

留言類,簡單注入javascript

有個表單域:

1、假若用戶填寫數據為:(或者)

2、提交後將會彈出一個foolish警告窗口,接著將數據存入數據庫

3、等到別的客戶端請求這個留言的時候,將數據取出顯示留言時將執行攻擊代碼,將會顯示一個foolish警告窗口。

【將數據改成html標籤進行攻擊,則會將原本的樣式打亂。】

例2、盜取cookie

1、網站所在域名為www.test88.com、攻擊者控制的主機www.linuxtest.com

2、test88.com中的表單,xss.html

“黑客”必學攻擊之“跨站腳本攻擊”

3、惡意攻擊者插入相應代碼

“黑客”必學攻擊之“跨站腳本攻擊”

4、數據(攻擊代碼)插入數據庫

5、攻擊者控制的主機中設置接收盜取的cookie

“黑客”必學攻擊之“跨站腳本攻擊”

開始模擬測試

1、test88.com中設置生成sessionID代碼

“黑客”必學攻擊之“跨站腳本攻擊”

2、客戶端訪問上面代碼並生成自己的sessionID

“黑客”必學攻擊之“跨站腳本攻擊”

3、客戶端訪問xss.html

#下面為模擬被攻擊後取出數據的xss.html代碼(顯示數據)

2

3

4

xss攻擊

5

6

7

8

12
留言記錄:

13 -->


分享到:


相關文章: