999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

XSS跨站攻擊原理與調(diào)查方法研究

2017-10-13 13:55:58孫羽壯
關(guān)鍵詞:用戶

◆黃 波 孫羽壯

?

XSS跨站攻擊原理與調(diào)查方法研究

◆黃 波 孫羽壯

(遼寧警察學(xué)院 遼寧 116036)

現(xiàn)代Web開發(fā)技術(shù)誕生及廣泛應(yīng)用,基于Web安全漏洞的各種網(wǎng)絡(luò)攻擊成為網(wǎng)絡(luò)安全威脅之一。XSS跨站腳本攻擊已經(jīng)算得上是除DDOS攻擊和SQL注入攻擊之外第三大Web攻擊。本文針對XSS跨站攻擊開展分析研究,首先介紹XSS跨站攻擊的特點、主要類型及攻擊原理,結(jié)合相關(guān)分析闡述了XSS跨站攻擊的廣泛性及其危害性,總結(jié)經(jīng)典XSS跨站腳本攻擊案例;再通過實驗室虛擬環(huán)境搭建模擬實現(xiàn)XSS跨站攻擊過程,分析XSS跨站攻擊遺留痕跡,結(jié)合公安工作中網(wǎng)絡(luò)犯罪偵查的業(yè)務(wù)需要,總結(jié)了XSS跨站攻擊的痕跡數(shù)據(jù)并闡述防御此攻擊的具體措施。

XSS;跨站攻擊;網(wǎng)絡(luò)安全;調(diào)查方法

0 引言

自從現(xiàn)代Web開發(fā)技術(shù)誕生以來,XSS跨站腳本攻擊以及基于Web的安全漏洞就一直圍繞在我們身邊。XSS攻擊占當(dāng)今Web攻擊總數(shù)的12.75%,在所有報告的漏洞中,大約70%都是與XSS跨站腳本攻擊有關(guān)。幾乎90%的網(wǎng)站都至少會有一個XSS漏洞。除了DDOS(分布式拒絕服務(wù))攻擊和SQL注入攻擊之外,XSS跨站腳本攻擊可以算得上是第三大Web攻擊了。在過去,類似Twitter、Facebook、YouTube,雅虎,MySpace或者Paypal等鼎鼎大名的網(wǎng)站都遭受過這種攻擊。

《2016年中國網(wǎng)站安全漏洞形式分析報告》中,跨站腳本攻擊(XSS)漏洞是2016年最為頻繁掃出的漏洞類型之一。如表1所述給出了被掃出次數(shù)最多的十大類典型網(wǎng)站安全漏洞:

表1 2016年被掃描出次數(shù)最多的十大類典型網(wǎng)站安全漏洞

如圖1所述給出了各類網(wǎng)站安全漏洞被掃出次數(shù)的比例分布情況。從表中可以看出,跨站腳本攻擊漏洞(16.0%)是占比最高的網(wǎng)站安全漏洞之一。

圖1 2016年網(wǎng)站漏洞類型分布

XSS跨站腳本攻擊對網(wǎng)絡(luò)安全有十分嚴(yán)重的危害。網(wǎng)絡(luò)空間已經(jīng)成為海、陸、空、天之外的第五大空間,這個網(wǎng)絡(luò)空間的安全也是重要的國家資源,其需要有主權(quán)、安全保護(hù)。面對未來日益復(fù)雜的網(wǎng)絡(luò)環(huán)境,防治XSS跨站腳本攻擊是解決網(wǎng)絡(luò)安全的必要因素。

1 XSS跨站攻擊概述

要想成功防御XSS跨站腳本攻擊,就必須對XSS跨站腳本攻擊有全面具體的了解,知道XSS跨站腳本攻擊的類型及其攻擊原理,知己知彼方能百戰(zhàn)百勝。

1.1 XSS跨站攻擊的概述

XSS,全稱Cross SiteScript,翻譯為跨站腳本攻擊,是Web程序中普遍的漏洞,XSS屬于用于客戶端的被動式攻擊方式,所以危害性容易被忽視。攻擊者在Web頁面里插入惡意Script代碼,當(dāng)用戶瀏覽該頁時,嵌入Web頁面里的惡意Script代碼就會被執(zhí)行,從而達(dá)到惡意攻擊用戶的目的。

利用XSS跨站腳本攻擊可以進(jìn)行網(wǎng)絡(luò)釣魚,盜取各類用戶帳號;竊取用戶Cookie信息,獲取用戶隱私信息或者利用用戶身份進(jìn)一步操作網(wǎng)站;劫持用戶會話,執(zhí)行任意操作;網(wǎng)頁掛馬;傳播跨站腳本蠕蟲等。由此可見,XSS跨站腳本攻擊方式十分靈活。

1.2 XSS跨站攻擊的主要類型

XSS跨站攻擊的主要類型有以下幾種:

1.2.1Stored XSS漏洞

如果有某個Web應(yīng)用程序的功能是負(fù)責(zé)將用戶提交的數(shù)據(jù)存儲到數(shù)據(jù)庫中,然后在需要時將這個用戶提交的數(shù)據(jù)再從數(shù)據(jù)庫中提取出返回到網(wǎng)頁中,在這個過程中,如果用戶提交的數(shù)據(jù)中包含一個XSS攻擊代碼,一旦Web應(yīng)用程序準(zhǔn)備將這個攻擊語句作為用戶數(shù)據(jù)返回到網(wǎng)頁中,那么所有包含這個回顯信息的網(wǎng)頁將全部受到XSS漏洞的影響。Web應(yīng)用程序過于相信用戶的數(shù)據(jù),將其作為一個合法信息保存在數(shù)據(jù)庫中。這種因為存儲外部數(shù)據(jù)而引發(fā)的XSS漏洞稱為Web應(yīng)用程序的Stored XSS漏洞,即存儲型XSS漏洞也稱為持久型XSS漏洞。

1.2.2Non-persistent XSS漏洞

當(dāng)用戶訪問一個帶有XSS攻擊代碼的Web請求時,服務(wù)器端接收數(shù)據(jù)后處理,然后把帶有XSS攻擊代碼的數(shù)據(jù)發(fā)送到瀏覽器,瀏覽器解析這段帶有XSS攻擊代碼的數(shù)據(jù)后,最終造成XSS漏洞。這個過程就像一次反射,故稱為反射性XSS也稱為非持久型XSS。

1.2.3 DOM-Based XSS漏洞

DOM是Document Object Model(文檔對象模型)的縮寫。DOM是一種與瀏覽器、平臺、語言無關(guān)的接口,使得網(wǎng)頁開發(fā)者可以利用它來訪問頁面其他的標(biāo)準(zhǔn)組件。DOM給予Web設(shè)計師和開發(fā)者一個標(biāo)準(zhǔn)的方法,讓他們來訪問他們站點中的數(shù)據(jù)、腳本和表現(xiàn)層對象。

由于DOM有如此好的功能,大量的Web應(yīng)用程序開發(fā)者在自己的程序中加入對DOM的支持,Web應(yīng)用程序開發(fā)者這種濫用DOM的做法使得Web應(yīng)用程序的安全也大大降低,DOM-Based XSS正是在這樣的環(huán)境下出現(xiàn)的漏洞。DOM-Based XSS漏洞與Stored XSS漏洞不同,因為它甚至不需要將XSS攻擊語句存入到數(shù)據(jù)庫中,直接在瀏覽器的地址欄中就可以讓W(xué)eb應(yīng)用程序發(fā)生跨站行為。對于大多數(shù)的Web應(yīng)用程序來說,這種類型的XSS漏洞是最容易發(fā)現(xiàn)和利用的。

1.3 XSS跨站攻擊原理分析

XSS跨站腳本攻擊是攻擊者往Web頁面里插入惡意HTML標(biāo)簽或者JavaScript代碼,當(dāng)用戶瀏覽該頁或者進(jìn)行某些操作時,攻擊者利用用戶對原網(wǎng)站的信任,誘騙用戶或瀏覽器執(zhí)行一些不安全的操作或者向其它網(wǎng)站提交用戶的私密信息。例如:攻擊者在論壇中放一個看似安全的鏈接,騙取用戶點擊,竊取Cookie中的用戶私密信息;或者攻擊者在論壇中加一個惡意表單,當(dāng)用戶提交表單的時候,卻把信息傳送到攻擊者的服務(wù)器中,而不是用戶原本以為信任的站點。

諸如此類,唯一能完全杜絕XSS跨站腳本攻擊的方法,就是禁用Script,IMG等,顯然這是不可能的,用戶需要豐富的頁面內(nèi)容。當(dāng)安全影響應(yīng)用時我們往往選擇后者,因此XSS跨站腳本攻擊又熱門又很難避免。

2 XSS跨站攻擊的模擬實現(xiàn)

2.1 XSS跨站攻擊環(huán)境搭建

利用虛擬機(jī)模擬XSS攻擊環(huán)境,利于對攻擊過程及結(jié)果的分析,與網(wǎng)絡(luò)中的XSS攻擊一致。

(1)XSS跨站攻擊平臺搭建

在虛擬機(jī)中創(chuàng)建Windows server 2003虛擬機(jī)作為攻擊端,利用WampServer和xsser.me源代碼搭建XSS攻擊平臺。WampServer是一款A(yù)pache Web服務(wù)器、PHP解釋器以及MySQL數(shù)據(jù)庫的集成安裝環(huán),利于模擬XSS攻擊平臺的搭建,如圖2所示。搭建XSS攻擊平臺目的是為了方便對攻擊后返回信息的獲取。

圖2 模擬的XSS攻擊平臺

(2)XSS跨站攻擊目標(biāo)網(wǎng)站搭建

在虛擬機(jī)中創(chuàng)建Windows Server 2003虛擬機(jī)作為目標(biāo)端,并利用IIS(Internet Information Servicer)互聯(lián)網(wǎng)信息服務(wù)功能部署留言板網(wǎng)站。如圖3所示,留言板的留言功能并未禁止Script代碼的執(zhí)行,因而存在XSS跨站腳本攻擊的漏洞。

(3)XSS跨站攻擊過程實現(xiàn)

在攻擊端中注冊用戶并創(chuàng)建項目生成項目代碼,將XSS攻擊代碼插入留言板中發(fā)表,等待管理員審核留言。跨站攻擊代碼如圖4所示。

攻擊代碼為:

’”>。

圖3 目標(biāo)留言板

圖4 XSS跨站攻擊代碼

是將留言結(jié)束,而網(wǎng)頁原來的結(jié)束留言代碼由于沒有了開始代碼則無任何作用,由于該代碼前為空,所以留言板中沒有任何內(nèi)容。

’”>是插入標(biāo)記證明代碼的執(zhí)行,該攻擊代碼標(biāo)記如圖5所示將在留言板輸入框后方顯示。

圖5 攻擊代碼標(biāo)記

是XSS攻擊的核心,執(zhí)行crs腳本,crs腳本是全部的項目代碼,作用是在網(wǎng)站管理員登錄網(wǎng)站后臺審核留言時,將網(wǎng)站后臺登錄網(wǎng)址以及網(wǎng)站管理員登錄后所產(chǎn)生的Cookie發(fā)送回XSS攻擊平臺中。

Cookie是網(wǎng)站在用戶瀏覽器中保存下來的一份個人信息,Cookie作用是用戶下次訪問該網(wǎng)站時就可以免于輸入用戶名或密碼。另外,用戶使用賬號登陸網(wǎng)站后,要靠Cookie來維持會話Session,以保持在線狀態(tài),如果清空當(dāng)前網(wǎng)站對應(yīng)的所有Cookie數(shù)據(jù),用戶將立即下線。因此Cookie相當(dāng)于“網(wǎng)絡(luò)身份證”內(nèi)存大量個人信息,如果沒有Cookie,許多網(wǎng)站都登陸不上去。再比如,當(dāng)用戶訪問某網(wǎng)站時,在不登陸的狀態(tài)下,可以直接進(jìn)行登錄后的操作,其原理也是基于Cookie來記錄用戶的數(shù)據(jù),只要不清除Cookie,下次再打開該網(wǎng)站時,操作結(jié)果依然存在。

圖6所示為XSS跨站攻擊過程中接收的返回信息在瀏覽器中登錄網(wǎng)站管理后臺,利用瀏覽器插件edit thiscookie修改Cookie,登錄網(wǎng)站后臺。

圖6 XSS攻擊返回信息

3 XSS跨站攻擊調(diào)查追蹤及防御

3.1 XSS跨站攻擊抓包分析

在XSS跨站攻擊時,利用Wireshark進(jìn)行抓包分析,對抓取到的數(shù)據(jù)讀取。在抓到的數(shù)據(jù)包中可以看到攻擊代碼的發(fā)送,以及cookie的抓取。在圖7中可以看到XSS跨站攻擊代碼的發(fā)送,以及Cookie的明文抓取。

圖7 XSS攻擊代碼的發(fā)送及Cookie的抓取

3.2 XSS跨站攻擊本地分析

在攻擊的留言平臺源文件中可以看到所使用的攻擊代碼。

正常留言的情況下,留言的內(nèi)容會在圖8選中的代碼中展現(xiàn),由于插入攻擊代碼’”>,前方的將源文件中的