在web項(xiàng)目安全漏洞中,XSS是最為流程的漏洞類型之一,今天就來(lái)介紹一下XSS。
01 XSS介紹
跨站腳本攻擊是指惡意攻擊者往Web頁(yè)面里插入惡意Script代碼,當(dāng)用戶瀏覽該頁(yè)之時(shí),嵌入其中Web里面的Script代碼會(huì)被執(zhí)行,從而達(dá)到惡意攻擊用戶的目的。
02 XSS分類
XSS簡(jiǎn)單的說(shuō)就是沒(méi)有做好校驗(yàn),因?yàn)榍岸说挠脩糨斎氲臄?shù)據(jù)別人可以攔截,然后嵌入一些腳本代碼或者其它的而達(dá)到不良的結(jié)果,有點(diǎn)類似與sql注入的攻擊。
XSS攻擊一般有這么三種分類:反射型XSS,存儲(chǔ)型XSS,DOM型XSS。接下來(lái),分別介紹一下三種分類,及其差別。
03 反射型XSS
攻擊者事先制作好攻擊鏈接, 需要欺騙用戶自己去點(diǎn)擊鏈接才能觸發(fā)XSS代碼(服務(wù)器中沒(méi)有這樣的頁(yè)面和內(nèi)容),一般容易出現(xiàn)在搜索頁(yè)面。發(fā)出請(qǐng)求時(shí),XSS代碼出現(xiàn)在URL中,作為輸入提交到服務(wù)器端,服務(wù)器端解析后響應(yīng),XSS代碼隨響應(yīng)內(nèi)容一起傳回給瀏覽器,最后瀏覽器解析執(zhí)行XSS代碼。
04 存儲(chǔ)型XSS
代碼是存儲(chǔ)在服務(wù)器中的,如在個(gè)人信息或發(fā)表文章等地方,加入代碼,如果沒(méi)有過(guò)濾或過(guò)濾不嚴(yán),那么這些代碼將儲(chǔ)存到服務(wù)器中,每當(dāng)有用戶訪問(wèn)該頁(yè)面的時(shí)候都會(huì)觸發(fā)代碼執(zhí)行,這種XSS非常危險(xiǎn),容易造成蠕蟲(chóng),大量盜竊cookie。
存儲(chǔ)型XSS和反射型XSS的差別僅在于,提交的代碼會(huì)存儲(chǔ)在服務(wù)器端(數(shù)據(jù)庫(kù)、內(nèi)存、文件系統(tǒng)等),下次請(qǐng)求目標(biāo)頁(yè)面時(shí)不用再提交XSS代碼,最典型的例子就是留言板XSS,用戶提交一條包含XSS代碼的留言存儲(chǔ)到數(shù)據(jù)庫(kù),目標(biāo)用戶查看留言板時(shí),那些留言就會(huì)從數(shù)據(jù)庫(kù)中加載出來(lái)并顯示,于是發(fā)生了XSS攻擊。
05 DOM型XSS
基于文檔對(duì)象模型(Document Objeet Model,DOM)的一種漏洞。DOM是一個(gè)與平臺(tái)、編程語(yǔ)言無(wú)關(guān)的接口,它允許程序或腳本動(dòng)態(tài)地訪問(wèn)和更新文檔內(nèi)容、結(jié)構(gòu)和樣式,處理后的結(jié)果能夠成為顯示頁(yè)面的一部分。DOM中有很多對(duì)象,其中一些是用戶可以操縱的,如URI ,location,referrer等。客戶端的腳本程序可以通過(guò)DOM動(dòng)態(tài)地檢查和修改頁(yè)面內(nèi)容,它不依賴于提交數(shù)據(jù)到服務(wù)器端,而從客戶端獲得DOM中的數(shù)據(jù)在本地執(zhí)行,如果DOM中的數(shù)據(jù)沒(méi)有經(jīng)過(guò)嚴(yán)格確認(rèn),就會(huì)產(chǎn)生DOM XSS漏洞。
DOM XSS和反射型XSS、存儲(chǔ)型XSS的區(qū)別在于DOM XSS代碼并不需要服務(wù)器參與,發(fā)出XSS攻擊靠的是瀏覽器的DOM解析,完全是客戶端的事情。
-
安全測(cè)試
+關(guān)注
關(guān)注
0文章
29瀏覽量
8727 -
XSS
+關(guān)注
關(guān)注
0文章
24瀏覽量
2390
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論