亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        葛強 李俊 胡永權

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

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

        1 XSS原理

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

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

        請輸入你的姓名:

        Result.jsp代碼如下:

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

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

        2 瀏覽器的解碼

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

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

        This is a test

        Link

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

        3 XSS解決方案

        3.1 ESAPI解決方案

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

        ESAPI是一個免費、開源的Web應用程序安全控制組件,可以幫助編程人員開發(fā)低風險應用程序。為了防御XSS攻擊,在實際情況中,應根據(jù)網頁顯示用戶輸入內容位置的不同,而采用不同的編碼方式。用戶的輸入可能在網頁的多個地方進行輸出,比如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編碼后將變?yōu)椋?/p>

        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”似乎并沒有實現(xiàn),這樣看來只使用HTML編碼似乎起到了作用,但適當改變“name”的值就會是另一種結果。如果改變“name”的值為“正常彈出);alert(‘XSS攻擊”,則會出現(xiàn)“正常彈出”,然后出現(xiàn)“XSS攻擊”。不難看出,當改變“name”的值后,alert的閉合情況發(fā)生了改變。“name”值中的“);”首先閉合了第一個alert,即“alert(‘正常彈出)”,然后是“alert(‘XSS攻擊)”。由此看來,在此只進行HTML編碼是不行的。如果在此同時進行了HTML編碼與JS編碼,效果如圖2所示。

        3.2 其他防御XSS攻擊的辦法

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

        ⑴ 防止Cookie劫持

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

        ⑵ 輸入檢查

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

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

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

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

        Dragonsource.com Inc. All Rights Reserved

        icp

        美女黄频视频免费国产大全| 免费看黄色电影| 国产亚洲专区一区二区| 亚洲精品国产av成拍色拍| 偷窥偷拍一区二区三区| 99蜜桃在线观看免费视频| 久久国产精品免费专区| 日韩亚洲精品中文字幕在线观看| 五月激情综合婷婷六月久久| 韩国三级大全久久网站| 女人被爽到高潮视频免费国产| 中文字幕日韩精品一区二区三区| 无码精品人妻一区二区三区av| 色www视频永久免费| 色偷偷av男人的天堂| 亚洲色大成网站www久久九| 国产suv精品一区二人妻| 闺蜜张开腿让我爽了一夜| 成人免费看www网址入口| 国产一区二区精品尤物| 久久精品国产亚洲Av无码偷窍| 亚洲日韩区在线电影| 在线无码免费看黄网站| 一区二区三区国产精品| 国产伦精品一区二区三区在线| 午夜亚洲精品一区二区| 97人妻精品一区二区三区免费| 青青草成人免费在线观看视频| 极品尤物精品在线观看| 国产av无码专区亚洲av男同 | 日日噜噜夜夜狠狠2021| aⅴ色综合久久天堂av色综合| 国产91熟女高潮一曲区| 精品国产一区二区三区九一色| 亚洲国产一区二区av| 偷拍一区二区盗摄视频| 久久精品一区午夜视频| 欧美成人国产精品高潮| 亚洲成a∨人片在线观看不卡| 欧美a级情欲片在线观看免费| 免费无码中文字幕A级毛片|