999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

XSS攻擊機制及防御技術淺談

2016-11-30 15:28:09葛強李俊胡永權
計算機時代 2016年10期

葛強 李俊 胡永權

摘 要: 跨站腳本攻擊(XSS)是客戶端Web安全的主要威脅。因跨站腳本攻擊的多樣性以及Web安全漏洞的隱蔽性,使得該類型的攻擊很難徹底防御。介紹了跨站腳本攻擊的基本概念,針對不同環境發生的跨站腳本攻擊機制進行了分析,探討了不同環境下如何防御跨站腳本攻擊的具體技術。

關鍵詞: Web安全; XSS; 跨站腳本攻擊; Web漏洞; XSS防御

中圖分類號:TP393 文獻標志碼:A 文章編號:1006-8228(2016)10-11-03

Discussion on XSS attack mechanism and defense technology

Ge Qiang1,2, Li Jun3, Hu Yongquan1

(1. College of Computer and Information Engineering, Henan University, Kaifeng, Henan 475004, China;

2. College of Environment and Planning, Henan University; 3. Information Office)

Abstract: Cross site scripting (XSS) attack is a major threat to the security of Web client. Because of the diversity of XSS attacks and Web security vulnerabilities hidden, this type of attack is very difficult to completely defense. This paper introduces the basic concept of XSS attacks, analyzes the XSS attack mechanisms of different environment, and discusses the specific technology to defense the XSS attacks of different environment.

Key words: Web security; XSS; cross site scripting attack; Web vulnerability; XSS defense

0 引言

在當今的Web2.0時代,Web上的大多數站點實際上是應用程序,它們功能強大,提供各種各樣的服務。網站向用戶展示的內容是以動態形式生成的,并且能夠滿足用戶的個性化需求[1]。但這些個性化的應用也給站點帶來一定的安全隱患,例如,跨站腳本攻擊等,同時,AJAX技術的流行使得XSS攻擊威脅變得更加嚴重。XSS攻擊在OWASP組織公布的OWASP TOP 2013中位列第三[2-3],可見XSS攻擊所造成的威脅之大。

1 XSS原理

XSS攻擊是一種間接攻擊,攻擊者通過Web服務器來攻擊其他用戶。攻擊者向服務器提交一段惡意代碼,而在服務器端并沒有對用戶的輸入做足夠的安全處理,就將用戶輸入寫入數據庫。當其他用戶向服務器再次請求含有惡意代碼的網頁時,服務器就會把包含惡意代碼的網頁返回,瀏覽器收到返回信息后進行相應的渲染、解碼工作,此時惡意代碼被觸發執行,用戶的機密信息將被竊取,甚至可以控制用戶的系統[4]。XSS攻擊原理如圖1所示。

先舉一個簡單的例子來展示跨站腳本攻擊的效果,主要代碼如下:

請輸入你的姓名:

Result.jsp代碼如下:

你好:<%=request.getAttribute("name")%>

如果用戶輸入惡意內容,并且沒有對用戶的輸入做安全處理,因此在result頁面就可能會出現安全威脅。如用戶輸入“”,該字符串沒有經過安全檢查就寫入數據庫,當該name值被再次取出時,這個字符串會被瀏覽器解析執行,瀏覽器將彈出“Hello”。

2 瀏覽器的解碼

防御XSS攻擊的主要方式是對用戶的輸入進行安全檢查并進行適當的編碼。對用戶在不同地方的輸入應當進行不同的編碼。只有對用戶的輸入進行完整的安全檢查和正確的編碼才能有效防御XSS攻擊。

對于下面這段代碼,瀏覽器會進行三種解碼。HTML解碼、JS解碼、URL解碼。

This is a test

Link

首先,對于段落“This is a test”瀏覽器會進行HTML解碼。其次,對于“Hello”瀏覽器會首先進行HTML解碼,然后進行JS解碼。最后對于連接“www.a.com”瀏覽器會進行URL解碼[5]。因此,如果上述三個位置都是用戶可編輯的,則開發人員就需根據瀏覽器對以上幾處位置所進行的解碼順序來進行對應的編碼操作。

3 XSS解決方案

3.1 ESAPI解決方案

防御XSS攻擊的有效辦法就是對用戶輸入進行安全檢查,然后采取相應措施,主要的措施有替換、移除、編碼[6-7]。下面主要討論采用編碼方法防御XSS攻擊。

ESAPI是一個免費、開源的Web應用程序安全控制組件,可以幫助編程人員開發低風險應用程序。為了防御XSS攻擊,在實際情況中,應根據網頁顯示用戶輸入內容位置的不同,而采用不同的編碼方式。用戶的輸入可能在網頁的多個地方進行輸出,比如HTML標簽中、HTML屬性中,URL中,事件中等等。ESAPI提供了對以上輸出場景的編碼方案。

⑴ 對于在HTML標簽中輸出和在Html屬性中輸出時均可采用HtmlEncode編碼方案。例如:

String safeinput=ESAPI.encoder().encodeForHTML

(request.getParameter(“userinput”));

⑵ 在事件中輸出時可采用JavascriptEncode編碼方案。

String safeinput=ESAPI.encoder().encodeForJavaScript

(request.getParameter(“userinput”));

⑶ 在地址欄中輸出時可采用URLEncode編碼方案。例如:

Link

經過URLEncode編碼后將變為:

28123%29%22”>

⑷ 處理富文本

論壇中的帖子是最常見的“富文本”。它允許用戶插入圖片、視頻、音頻等。在處理富文本時的思路還是進行“輸入檢查”。在處理富文本時,“事件”應該被嚴格禁止,而且一些危險的標簽也應該被過濾掉,例如

屬性“name”的值是用戶的輸入內容,對此,瀏覽器會對該值進行兩種解碼,首先是進行HTML解碼,然后進行JS解碼。因此對于此位置上的用戶輸入應當在服務器端先進行HTML編碼,其次進行JS編碼[8]。

String safeinput=ESAPI.encoder().encoderForJavaScript

(request.getParameter("name"));

safeinput=ESAPI.encoder().encoderForHTML(safeinput);

如果對“name”的值只進行HTML編碼而不進行JS編碼結果會怎樣?首先測試最簡單的字符串,將“name”的值賦值為“”,瀏覽器彈出“”。對于期待的效果彈出字符串“XSS”似乎并沒有實現,這樣看來只使用HTML編碼似乎起到了作用,但適當改變“name”的值就會是另一種結果。如果改變“name”的值為“正常彈出);alert(‘XSS攻擊”,則會出現“正常彈出”,然后出現“XSS攻擊”。不難看出,當改變“name”的值后,alert的閉合情況發生了改變?!皀ame”值中的“);”首先閉合了第一個alert,即“alert(‘正常彈出)”,然后是“alert(‘XSS攻擊)”。由此看來,在此只進行HTML編碼是不行的。如果在此同時進行了HTML編碼與JS編碼,效果如圖2所示。

3.2 其他防御XSS攻擊的辦法

除了第2小節的方法外,還需要以下幾種手段進行輔助。

⑴ 防止Cookie劫持

針對此攻擊有一個比較不錯的防御辦法是使用HttpOnly屬性。通過為Cookie增加HttpOnly屬性,即可大大降低Cookie被劫持的風險。如果Cookie帶有HttpOnly屬性,則瀏覽器會禁止JavaScript訪問該Cookie。添加方法是在web.xml中配置為true。

⑵ 輸入檢查

對于用戶的輸入都必須進行輸入檢查。主要檢查在用戶的輸入中,是否包含了一些危險字符如<、、”和一些危險標簽如

公司地址: 北京市西城區德外大街83號德勝國際中心B-11

客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com

電信與信息服務業務經營許可證:京icp證060024號

Dragonsource.com Inc. All Rights Reserved

icp

主站蜘蛛池模板: 亚洲国产精品久久久久秋霞影院| 欧美成人综合在线| 国产一级片网址| 亚洲欧洲日韩综合| 国产成人91精品| 看av免费毛片手机播放| 国产毛片网站| 国产a v无码专区亚洲av| 欧美日韩亚洲国产| 国产伦片中文免费观看| 午夜国产在线观看| 国产经典三级在线| 欧美午夜小视频| 久久综合亚洲色一区二区三区| 欧美精品v日韩精品v国产精品| 国产永久在线视频| 欧美.成人.综合在线| 欧美日韩国产在线播放| 一级毛片免费的| 91精品人妻一区二区| 美女扒开下面流白浆在线试听| 久久精品国产亚洲麻豆| 四虎精品免费久久| 国产精品视频第一专区| 久久久精品久久久久三级| 欧美激情视频一区二区三区免费| 日韩免费视频播播| 日韩小视频网站hq| a网站在线观看| 国产一在线| 19国产精品麻豆免费观看| 亚洲精品成人片在线观看| 国产理论一区| 日日拍夜夜操| 国产欧美日韩专区发布| 1769国产精品免费视频| 久久伊人操| 超碰精品无码一区二区| 国产网站免费看| 无码人中文字幕| 亚洲无码高清视频在线观看 | 欧美成人精品一区二区| 午夜爽爽视频| 在线看片免费人成视久网下载| 亚洲性视频网站| 国产成人精品一区二区秒拍1o| 五月天久久综合| 久久久久亚洲AV成人人电影软件 | 午夜在线不卡| 国产亚洲精品yxsp| 婷婷在线网站| 波多野结衣一区二区三区四区视频 | 欧美午夜在线观看| 欧美日韩资源| 无码视频国产精品一区二区 | 在线国产资源| 亚洲91在线精品| 国产91精品久久| 欧美性精品不卡在线观看| 欧美一区二区三区香蕉视 | 久久永久免费人妻精品| 2021国产在线视频| 九九九精品视频| 久久公开视频| 91亚洲视频下载| 中文精品久久久久国产网址| 国产1区2区在线观看| 国产在线拍偷自揄拍精品| 97国产在线观看| 999福利激情视频| 欧美高清视频一区二区三区| 韩国v欧美v亚洲v日本v| 亚洲中文在线视频| 国产精品爆乳99久久| 亚洲h视频在线| 欧美成人怡春院在线激情| 色偷偷一区| 国产福利小视频高清在线观看| 九色视频最新网址| AV老司机AV天堂| 91在线激情在线观看| 538国产视频|