什么是XSS攻擊?XSS攻擊有哪幾種類型?

前言:
網(wǎng)絡(luò)安全攻擊方式有很多種,其中包括XSS攻擊、SQL注入攻擊、URL篡改等。那么XSS攻擊到底是什么?XSS攻擊有哪幾種類型?今天小編為大家講解一下。
什么是XSS攻擊?
XSS攻擊又稱為跨站腳本,XSS的重點(diǎn)不在于跨站點(diǎn),而是在于腳本的執(zhí)行。XSS是一種經(jīng)常出現(xiàn)在Web應(yīng)用程序中的計(jì)算機(jī)安全漏洞,是由于Web應(yīng)用程序?qū)τ脩舻妮斎脒^(guò)濾不足而產(chǎn)生的,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁(yè)面中。
XSS攻擊有哪幾種類型?
常見(jiàn)的XSS攻擊有三種:反射型XSS攻擊、DOM-based型XSS攻擊、存儲(chǔ)型XSS攻擊。
第一種:反射型XSS攻擊
反射型XSS攻擊一般是攻擊者通過(guò)特定手法,誘使用戶去訪問(wèn)一個(gè)包含惡意代碼的URL,當(dāng)受害者點(diǎn)擊這些專門設(shè)計(jì)的鏈接的時(shí)候,惡意代碼會(huì)直接在受害者主機(jī)上的瀏覽器執(zhí)行。此類XSS攻擊通常出現(xiàn)在網(wǎng)站的搜索欄、用戶登錄口等地方,常用來(lái)竊取客戶端Cookies或進(jìn)行釣魚(yú)欺騙
第二種:DOM-based型XSS攻擊
客戶端的腳本程序可以動(dòng)態(tài)地檢查和修改頁(yè)面內(nèi)容,而不依賴于服務(wù)器端的數(shù)據(jù)。例如客戶端如從URL中提取數(shù)據(jù)并在本地執(zhí)行,如果用戶在客戶端輸入的數(shù)據(jù)包含了惡意的JavaScript腳本,而這些腳本沒(méi)有經(jīng)過(guò)適當(dāng)?shù)倪^(guò)濾或者消毒,那么應(yīng)用程序就可能受到DOM-based型XSS攻擊。
需要特別注意以下的用戶輸入源document.URL、location.hash、location.search、document.referrer等。
第三種:存儲(chǔ)型XSS攻擊
攻擊者事先將惡意代碼上傳或者儲(chǔ)存到漏洞服務(wù)器中,只要受害者瀏覽包含此惡意代碼的頁(yè)面就會(huì)執(zhí)行惡意代碼。這意味著只要訪問(wèn)了這個(gè)頁(yè)面的訪客,都有可能會(huì)執(zhí)行這段惡意腳本,因此存儲(chǔ)型XSS攻擊的危害會(huì)更大。此類攻擊一般出現(xiàn)在網(wǎng)站留言、評(píng)論、博客日志等交互處,惡意腳本存儲(chǔ)到客戶端或者服務(wù)端的數(shù)據(jù)庫(kù)中。