跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策_(dá)第1頁(yè)
跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策_(dá)第2頁(yè)
跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策_(dá)第3頁(yè)
跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策_(dá)第4頁(yè)
跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策_(dá)第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、跨網(wǎng)站腳本攻擊(XSS)的原理與防范對(duì)策摘要: 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)安全問(wèn)題已變得越來(lái)越受到人們的重視, 網(wǎng)絡(luò)攻擊形式多種多樣, 很多蠕蟲(chóng)病毒、 木馬病毒等植入到某些網(wǎng)頁(yè)中, 給網(wǎng)絡(luò)用戶(hù)帶來(lái)了 很大的安全隱患。其中XSS跨網(wǎng)站腳本攻擊,惡意攻擊者往Web頁(yè)面里插入惡意html代碼, 當(dāng)用戶(hù)瀏覽該頁(yè)之時(shí),嵌入其中 Web里面的htmI代碼會(huì)被執(zhí)行,從而達(dá)到惡意攻擊用戶(hù)的 特殊目的。本文主要闡述了 XSS的機(jī)理和特點(diǎn),重點(diǎn)分析了網(wǎng)頁(yè)代碼的檢測(cè)以及木馬的特征, 并針對(duì)這些特點(diǎn)進(jìn)行了一些相應(yīng)防范對(duì)策的探討。關(guān)鍵詞: 網(wǎng)頁(yè)木馬; XSS; 攻擊; 防范一、前言網(wǎng)頁(yè)木馬是一種新型的惡意代碼,

2、一些攻擊者將它人為的植入到服務(wù)器端的HTML頁(yè)面中,通過(guò)客戶(hù)端對(duì)服務(wù)器的訪(fǎng)問(wèn)來(lái)傳播惡意攻擊代碼, 它主要是通過(guò)瀏覽器以及其中的一些 插件漏洞來(lái)進(jìn)行植入,網(wǎng)頁(yè)木馬是一種客戶(hù)端的攻擊方式,它能有效的繞過(guò)防火墻的檢測(cè), 隱秘的在客戶(hù)端將惡意代碼植入, 客戶(hù)端在不知情的情況下將這些惡意可執(zhí)行程序進(jìn)行下載 和執(zhí)行。給互聯(lián)網(wǎng)用戶(hù)造成嚴(yán)重的安全威脅。在Web2.0出現(xiàn)以后,XSS的危害性達(dá)到了十分嚴(yán)重的地步。 跨站腳本英文名稱(chēng)是(CrossSite Script ),為了與層疊樣式表( Cascading Style Sheets簡(jiǎn)稱(chēng) CSS區(qū)分,故命名為XSS XSS攻擊是指入侵者在遠(yuǎn)程 WEB頁(yè)面的HT

3、ML弋碼中插入具有惡意目的的數(shù)據(jù),用戶(hù) 認(rèn)為該頁(yè)面是可信賴(lài)的,但是當(dāng)瀏覽器下載該頁(yè)面時(shí),嵌入其中的腳本將被解釋執(zhí)行。XSS具有自身的獨(dú)有特點(diǎn),目前國(guó)內(nèi)外很多研究人員圍繞XSS的防御進(jìn)行了深入的探討與研究,同時(shí)攻擊者也在采用一些更先進(jìn)的手段來(lái)提高木馬的攻擊隱蔽性,用以提高木馬的攻擊成功率,因此,XSS的機(jī)理與防范對(duì)策研究已成為了當(dāng)前計(jì)算機(jī)工作者的一個(gè)重要課題。二、XSS的機(jī)理與特征1. XSS的成因跨網(wǎng)站腳本XSS漏洞的成因其實(shí)就是 Html的注入問(wèn)題,攻擊者的輸入沒(méi)有經(jīng)過(guò)嚴(yán)格的 控制進(jìn)入了數(shù)據(jù)庫(kù), 最終顯示給來(lái)訪(fǎng)的用戶(hù), 導(dǎo)致可以在來(lái)訪(fǎng)用戶(hù)的瀏覽器里以瀏覽用戶(hù)的 身份執(zhí)行 Html 代碼,數(shù)據(jù)

4、流程如下:攻擊者的 Html 輸入 web 程序 進(jìn)入數(shù)據(jù)庫(kù) web 程序 用戶(hù)瀏覽器。目前,所有的網(wǎng)站上幾乎都提供一個(gè)站內(nèi)或站外信息搜索框。在此搜 索框中,您可以搜索到網(wǎng)站上任何可用的東西。這個(gè)搜索表單看起來(lái)這樣:攻咯/游記 Q圖1-1IfijHiim茫錄 A QQS錄圖1-2內(nèi)部代碼: 在asp網(wǎng)頁(yè)上顯示的搜索結(jié)果,同時(shí)它也列出了在“關(guān)鍵字”的搜索結(jié)果。web頁(yè)面上,不管用戶(hù)搜索什么內(nèi)容,它將顯示搜索結(jié)果在網(wǎng)頁(yè)上?,F(xiàn)在如果一個(gè)攻擊者嘗試注 入惡意腳本,比如在搜索框中輸入如下Html代碼:“ alert( XSS跨站腳本攻擊) ” 則代碼會(huì)變成 input type=text name=q

5、value=alert( XSS跨站腳本攻擊) / ,嵌入的JavaScript 代碼將會(huì)被瀏覽器執(zhí)行,將顯示一個(gè)警告框,提示“XSS跨站腳本攻擊”。而不能完成用戶(hù)搜索功能。 (上 述兩個(gè)網(wǎng)站已經(jīng)做 XSS過(guò)濾,不能看見(jiàn)警告框)下面是一個(gè)關(guān)于用戶(hù)注冊(cè)頁(yè)面的例子,當(dāng)然這個(gè)示例很簡(jiǎn)單,幾乎攻擊不到任何網(wǎng)站,僅僅看看其原理。我們知道很多網(wǎng)站都提供用戶(hù)注冊(cè)功能,網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)用戶(hù)名、密碼,方便用戶(hù)下次登錄,有些網(wǎng)站是直接用明文記錄用戶(hù)名、密碼,惡意用戶(hù)注冊(cè)賬戶(hù)登錄后使用簡(jiǎn)單工具查看 cookie結(jié)構(gòu)名稱(chēng)后,如果網(wǎng)站有XSS漏洞,那么簡(jiǎn)單的就可以獲取其它用戶(hù)的用戶(hù)名、密碼了。ft s 1 1圖2-1

6、如圖2-1所示的用戶(hù)注冊(cè)頁(yè)面。允許用戶(hù)填入注冊(cè)信息,然后存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù)中。因?yàn)槲覀兺耆湃瘟擞脩?hù)輸入,用戶(hù)注冊(cè)信息都能正確的進(jìn)入數(shù)據(jù)庫(kù)。但有些惡意的用戶(hù)會(huì)利用這個(gè)漏洞輸入 HTML和 JS 代碼,例如 這段代碼直接輸入到用戶(hù)名”欄中,竊取 用戶(hù)信息。在 http:/www.123.eom/h.js 中:var user name=CookieHelper.getCookie(user name).value;var password=CookieHelper.getCookie(password).value;var script =docume nt.createEleme nt(scri

7、pt);script.src= ndex.asp?username=+username+&password=+passw ord ;docume nt.body.appe ndChild(script);這樣就輕松的獲取了cookie中的用戶(hù)名和密碼。2. 跨網(wǎng)站腳本攻擊的類(lèi)型2.1非持久性跨網(wǎng)站腳本攻擊,非持久性 XSS也稱(chēng)為是反射跨網(wǎng)站漏洞。它是最常見(jiàn) 的XSS類(lèi)型。在這,注入數(shù)據(jù)反射給攻擊者。上面的例1,是非持續(xù)的攻擊。典型的非持久性XSS包含與XSS的鏈接。2.2 持久性跨網(wǎng)站腳本攻擊(存儲(chǔ)性),持久性跨網(wǎng)站腳本是存儲(chǔ)跨站點(diǎn)腳本。當(dāng)它發(fā)生時(shí)XSS變量存儲(chǔ)在網(wǎng)站的數(shù)據(jù)庫(kù),每當(dāng)用戶(hù)打開(kāi)網(wǎng)頁(yè)

8、時(shí)執(zhí)行。每次用戶(hù)打開(kāi)瀏覽器,腳 本執(zhí)行。持久性 XSS比非持久性XSS更有害,因?yàn)槊慨?dāng)用戶(hù)打開(kāi)要查看的內(nèi)容的網(wǎng)頁(yè)時(shí), 將自動(dòng)執(zhí)行該腳本。上面例2就是持久性跨網(wǎng)站腳本攻擊。2.3 基于D0M勺跨站腳本攻擊,基于DOM的XSS有時(shí)也稱(chēng)為“type-0 XSS。它發(fā)生時(shí),XSS 變量執(zhí)行由 DOM 修改用戶(hù)的瀏覽器網(wǎng)頁(yè)的結(jié)果。在客戶(hù)端的 HTTP 響應(yīng)不會(huì)更改,但 以惡意的方式執(zhí)行的腳本。三、XSS防范對(duì)策XSS攻擊的模式很簡(jiǎn)單,就是把自己的代碼嵌入到頁(yè)面里,隨頁(yè)面一塊執(zhí)行;XSS攻擊的防范也一樣簡(jiǎn)單, 對(duì)于網(wǎng)站的開(kāi)發(fā)者, 首先應(yīng)該把精力放到對(duì)所有用戶(hù)提交內(nèi)容進(jìn)行可靠 的輸入驗(yàn)證上。這些提交內(nèi)容包括

9、HTML URL查詢(xún)關(guān)鍵字、http頭、post、get數(shù)據(jù)等。只接受在你所規(guī)定長(zhǎng)度范圍內(nèi)、 采用適當(dāng)格式、你所希望的字符。 阻塞、過(guò)濾或者忽略其它 的任何東西。針對(duì)出現(xiàn)在不同位置的用戶(hù)輸入內(nèi)容,其處理策略有所不同。1、html只需要處理掉 即可,只要沒(méi)有 html 標(biāo)簽,頁(yè)面就是安全的。可以使用 asp 內(nèi)置方 法 Replace (str, “”, “”, “”) 來(lái)處理待輸出的內(nèi)容,將, 轉(zhuǎn)義。2、JS將要輸出到 js 代碼片斷中的用戶(hù)輸入內(nèi)容沒(méi)有好的辦法進(jìn)行處理;僅轉(zhuǎn)義少數(shù)字符不 能保證去掉所有的攻擊可能。 因此, 一般建議不要把用戶(hù)產(chǎn)生的內(nèi)容直接輸出到 js 片斷中。 如果條件所限,

10、必須將內(nèi)容直接輸出,有如下方法可供選擇:1) 如果待輸出的內(nèi)容有特定的取值返回或者特定的格式,可以使用白名單或者正則表 達(dá)式進(jìn)行處理。2) 可以將內(nèi)容輸出到 html 的隱藏標(biāo)簽或隱藏表單中, js 通過(guò)獲取標(biāo)簽的內(nèi)容得到該 內(nèi)容。3、檢查那么, 對(duì)已有的頁(yè)面, 該如何檢查呢?這個(gè)問(wèn)題的回答是, 目前沒(méi)有很好的辦法能完全 檢查出服務(wù)器中可能存在 XSS攻擊的頁(yè)面;有一些辦法可以檢查出比較明顯的疏漏,其基本思路如下:1) 從 apache 的 access_log 中取出所有 unique 的請(qǐng)求,依次修改其某一個(gè)參數(shù)為“alert(xss)”,發(fā)起請(qǐng)求。2) 獲取返回的內(nèi)容,如果內(nèi)容中有原樣的該字符串,表明此可疑輸入沒(méi)有經(jīng)過(guò)處理便 輸出到頁(yè)面上,頁(yè)面存在隱患,需要處理。通過(guò)這種辦法,可以檢查出絕大多數(shù)能通過(guò)get 請(qǐng)求發(fā)起的 XSS 攻擊。那些在access_log 沒(méi)有出現(xiàn)的請(qǐng)求參數(shù),這里沒(méi)有檢查到,可能有所遺漏,就需要手動(dòng)去整理, 測(cè)試。通過(guò) Post 發(fā)起的請(qǐng)求需要用另外一種策略進(jìn)行檢查。其思路如下:將網(wǎng)站上所有可 以輸入的表單,依次輸入特征字符串,比如說(shuō) ,如果提交后產(chǎn)生的頁(yè)面中含有未處 理的此字符串,說(shuō)明存在隱患。通過(guò)以上分析我們看到,XSS是一種危害較大、較難防范,并且更加隱蔽的攻擊

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論