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

Web中XSS攻擊檢測與防范措施

2012-12-27 14:40:38
通化師范學院學報 2012年8期
關鍵詞:用戶

(河西學院信息技術中心,甘肅張掖734000)

Web中XSS攻擊檢測與防范措施

王志春

(河西學院信息技術中心,甘肅張掖734000)

XSS(跨站腳本)攻擊,是惡意用戶利用驗證上的漏洞將腳本命令嵌入到可以顯示的數據中,使其在另一個用戶瀏覽時可以執行這些腳本命令.針對XSS漏洞屢遭攻擊這一現狀,通過對XSS漏洞的詳盡分析,列舉了對XSS漏洞攻擊的檢測方式和方法.根據攻擊的特點,為系統的安全提出了相應的防御措施.

XSS;Web;跨站腳本;檢測;防范

Web2.0網絡使用戶與網站的互動更加方便和頻繁,用戶在論壇發表評論或留言,既是網站內容的瀏覽者,也是網站內容的制造者.但是,也帶來了網絡安全隱患,跨站腳本(Cross-Site Scripting,XSS)漏洞就是Web應用程序漏洞中較為突出的一類.XSS攻擊的原理是,訪問者利用Web應用程序的漏洞,通過網頁的輸入框上傳惡意的腳本代碼,通常是JavaScript腳本片段,而這些惡意輸入在提交后,重新讀回客戶端時會嵌入遠程Web頁面,當用戶對此站點進行再次訪問時,該用戶的瀏覽器就會自動加載并解釋執行這些惡意的腳本.借助于這種巧妙注入惡意的指令碼到其它網域的服務網頁的方法,攻擊者可得到了更高的特權,竊取機密的網頁內容、會談的Cookie、以及許多其它的對象.

1 漏洞分類

根據漏洞形成的原因,跨站腳本漏洞大致可以分為以下3類:反射式跨站腳本漏洞、儲存式跨站腳本漏洞和基于DOM的跨站點腳本漏洞.

1.1 反射式跨站腳本漏洞(Reflected XSS)

反射式跨站腳本是非持久性跨站腳本的另一個名稱.當Web應用程序存在易受到這種攻擊的漏洞時,它會將未經驗證的數據通過請求發送給客戶端.如果未經驗證的客戶端輸入數據被直接包含在生成的頁面中,便可能造成客戶端腳本直接注入到動態頁面中.常見的攻擊手法一般通過攻擊者創建并構造畸形URL實現,常見的攻擊者代碼是用JavaScript語言,但也會使用其它的腳本語言,例如,ActionS-cript和VBScript.攻擊者通常會利用這些漏洞來安裝鍵盤記錄器、竊取受害者的cookie、竊取剪貼板內容、改變網頁內容.

1.2 儲存式跨站腳本漏洞(Stored XSS)

儲存式跨站腳本是一種最危險的跨站腳本,允許用戶存儲數據的Web應用程序都有可能接觸到這種類型的攻擊.如果Web應用程序從惡意用戶處收集了輸入數據并將這些數據存儲在數據庫中以供今后使用,就可能會發生儲存式跨站腳本攻擊,因為存儲的輸入數據沒有經過正確過濾,所以惡意數據將顯示為網站的一部分并在Web應用程序授權下在用戶瀏覽器中運行.當用戶使用較高特權訪問有存儲式跨站腳本漏洞的網頁時,那么儲存跨站腳本將更加危險,比如管理員訪問存在漏洞的網頁時,瀏覽器會自動執行攻擊,這就可能導致敏感信息泄露,如會話授權令牌.

1.3 基于DOM的跨站點腳本漏洞(DOM Based XSS )

基于DOM的跨站點腳本的實際名稱是跨站腳本漏洞.該漏洞是動態網頁內容的結果,一般是JavaScript,網頁通過獲取用戶的輸入,然后進行一些不安全的操作導致產生XSS漏洞,攻擊者使用DOM元素和定制的代碼以控制代碼流程并改變流程.由于其性質,基于DOM的跨站點腳本漏洞可以在許多情況下執行.

2 漏洞檢測

2.1 反射式XSS攻擊檢測

反射式XSS攻擊是在URL地址的參數中嵌入腳本來實現的.這種XSS攻擊比較簡單,正常的URL中HTTP標記是不會出現的,只需檢查URL中是否有HTTP的標記就可以知道是否有XSS攻擊了.為了檢測是否存在漏洞,必須需確定Web程序中的變量及其如何輸入;輸入無害的攻擊字段觸發瀏覽器以發現潛在的漏洞;針對已發現的漏洞進行攻擊,評估是否會對Web程序的安全產生實際影響.這需要使用許多測試向量,每個測試向量避免不同的過濾程序.例如,執行下面的代碼:

規則表達將檢查是否插入了<script[anything but the character:'>']src,而類似的常見攻擊<script src=“http://attacker.com/xss.js”></script>對于過濾表達式很有效果.但是也有可能在腳本和SRC間的屬性中使用“>”字符繞過過濾程序,這將導致利用上述反射式跨站腳本漏洞.如:

2.2 存儲式XXS檢測

XSS漏洞最常出現在讓用戶輸入信息并瀏覽的頁面,比如任何有輸入的地方:留言、回復、論壇、BLOG等.通常將腳本輸入到被攻擊站點的輸入域中,提交后,腳本代碼被儲存在有漏洞的服務器上,當用戶瀏覽此Web頁面時該腳本就開始執行.應用程序存儲的輸入數據通常在HTML標記中使用,但它也可能在JavaScript內容中存在,通過分析HTML代碼以確認輸入數據是否存儲并且如何在網頁內容中定位來檢測漏洞.通常在注冊頁面中需要輸入郵箱,而包含郵箱值的HTML代碼為:

輸入驗證/過濾控制腳本測試應用程序,腳本如下:

提交輸入,如果實施客戶端的安全控制,通常會導致禁用JavaScript或修改HTTP請求,如WebScarab.重新加載頁面時瀏覽器存儲輸入并執行跨站腳本,上述注入結果導致彈出包含cookie值的窗口.注入后的HTML代碼是:

如果Web應用程序允許文件上傳,就需要檢查是否有可能上傳HTML內容.如果允許HTML或TXT文件,那么在文件上傳時可能注入跨站腳本,需要驗證上傳的文件是否允許設置任意MIME類型.利用瀏覽器MIME的設計缺陷.例如,像JPG和GIF這種看似無害的文件可能包含一個跨站腳本,當瀏覽器裝載這些文件時,就會執行該攻擊.當image/gif等圖像受到MIME攻擊時,他們可能設置成文本/HTML格式.在這種情況下,客戶端瀏覽器將把該文件視為HTML.

文件上傳時的HTTP POST請求:

Internet Explorer不按照Mozilla Firefox或其他瀏覽器相似的方式處理MIME類型.例如,Internet Explorer將包含HTML內容的TXT文件視為HTML內容.

2.3 基于DOM的XXS檢測

反射式和儲存式漏洞是通過服務器傳遞跨站腳本中的參數,返回給用戶并在用戶的瀏覽器中執行,不需要服務器確定哪些需要執行,導致許多一般的跨站腳本過濾和檢測規則對此類攻擊無能為力.假設使用下面的客戶端代碼:

攻擊者可能給受感染頁面追加#<script>alert('xss')</script>,導致在執行該腳本時會顯示警告框,由于瀏覽器認為凡是有#字符都不是查詢的一部分,而只是一個片段,因此不會將附加的代碼發送給服務器.而JavaScript的應用程序跟他類型的應用程序有很大不同,他們往往是服務器動態生成的.

服務器端將數據插入到JavaScript:

客戶端JavaScript對象的輸入:

當通過服務器獲得輸入時,服務器可以使用任何方式排列數據,而JavaScript對象執行的排列卻清楚易懂并便于記錄.

2.4 繞過JavaScript的XSS檢測

有很多工具可以在瀏覽器發送Get/Post請求前將其截取,攻擊者可以修改請求中的數據,從而繞過JavaScript的檢驗將惡意數據注入服務器.通過Web應用程序這個中間載體,竊取受害者客戶端的cookie或其他信息以冒充正??蛻粼赪eb應用程序上進行認證,從而完成攻擊.以下是一些常用的截取HTTP請求的工具:

這些工具可以被攻擊者用來截取并修改數據達到攻擊的目的,同時也可以用來對Web應用程序進行安全性測試.利用上述工具截取Web應用程序發送的數據并修改,主動向被測試的Web站點發送修改后的XSS輸入,通過判斷輸入輸出的情況,可以達到對Web站點進行XSS漏洞檢測的目的.

TamperIE小巧易用,能繞過客戶端瀏覽器JavaScript的校驗,監視IE瀏覽器與服務器之間的HTTP通信,截取IE瀏覽器發送的Get/Post請求,修改其中的數據,然后再發送修改后的數據到服務器.如圖1所示:

圖1 TamperIE修改

3 XSS防范

XSS攻擊主要是利用程序中存在的漏洞,在用戶和WEB交互的過程中進行,所以需要在編碼和用戶兩方面采取相應的防范措施.

3.1 編碼中防范措施

輸入驗證:用戶與網站進行交互的數據被顯示或存儲前,使用輸入驗證機制對用戶輸入的數據進行確認,檢測輸入數據的長度、類型和語法規則,保證輸入數據的長度不能太長、包含合法的字符并且與相應的正則表達式相匹配.

字符串過濾:網站對用戶提交的數據應進行HTML編碼,過濾惡意字符;保證瀏覽器可以安全的處理惡意代碼,把惡意的字符當作是HTML文檔的內容而非是結構;禁止用戶提交該類代碼,這類字符主要包括“<>”“%;()&+-”等.需要注意的是,僅查找或替換一些如“<”、“>”或類似“script”的關鍵字,很容易被XSS變種攻擊繞過驗證機制.

指定編碼方式:確保數據輸出前用戶提交的數據已被正確進行編碼,對所有字符進行編碼而不僅局限于某個子集.明確指定輸出的編碼方式如UTF8,不要允許攻擊者選擇編碼方式.

3.2 用戶的防范措施

訪問可信任的站點,而且在訪問信任站點的時候最好是通過地址欄直接輸入地址進行訪問而不是通過其他站點的鏈接;不要輕易訪問其他人給你的鏈接,特別是跟了很長一段字符串的鏈接,因為這段字符可能是惡意的腳本進行編碼后的結果;禁止瀏覽器直接不經過任何限制的運行JavaScript或者ActiveX.;定時對防病毒軟件和防火墻進行升級.從網站用戶角度.當你打開一封Email或附瀏覽論壇帖子時,可能惡意腳本會自動執行,因此,在做這些操作時一定要特別謹慎.建議在瀏覽器設置中關閉JavaScript.

4 結束語

XSS不同于普通的針對網站或者服務器的攻擊,是一種危害較大、較難防范并且隱蔽的攻擊方式.由于不易引起網站開發者的注意和重視,XSS攻擊才會對網站的訪問者造成非常大的安全威脅,所以XSS漏洞和攻擊的防范不僅需要網站開發者的重視,也需要瀏覽器的支持,以及用戶安全意識的提高.

[1]達斯孟,陸永忠,寧峰.客戶端跨站腳本攻擊的分層防御策略[J].計算機系統應用,2010(02).

[2]陳建青,張玉清.Web跨站腳本漏洞檢測工具的設計與實現[J].計算機工程,2010(06).

[3]羅來曦,朱漁.XSS跨站腳本攻擊方法初探[J].宜春學院學報,2009(06).

[4]孫握瑜,張業睿.跨站腳本攻擊原理與防范方法研究[J].內江科技,2010(05).

[5]趙玉龍,張旋,劉夢瑤,李沁蕾.跨站腳本攻擊實踐及防范[J].網絡安全技術與應用,2010(07).

TP39

A

1008-7974(2012)08-0027-03

2012-03-05

王志春(1976-),男,陜西洋縣人,河西學院信息技術中心講師.

(責任編輯:王前)

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产一区二区三区免费观看| 爆乳熟妇一区二区三区| 久久精品无码一区二区日韩免费| 亚洲天堂网在线播放| 免费A∨中文乱码专区| 91视频免费观看网站| 国内自拍久第一页| 她的性爱视频| 久热这里只有精品6| 少妇精品在线| 国产免费一级精品视频| 国产国拍精品视频免费看| 国产原创演绎剧情有字幕的| 亚洲中文字幕23页在线| 激情综合网激情综合| 免费观看男人免费桶女人视频| 久久精品这里只有国产中文精品| 午夜啪啪网| 亚洲最新在线| 国产成人久久综合一区| 亚洲丝袜中文字幕| 伊人成人在线视频| 欧美一级大片在线观看| 性欧美久久| 2021无码专区人妻系列日韩| 国产精品视频系列专区| 亚洲综合色婷婷| 亚洲综合亚洲国产尤物| 内射人妻无套中出无码| 精品视频91| 天天色天天操综合网| 国产美女丝袜高潮| 免费无码在线观看| 亚洲丝袜第一页| 99久久免费精品特色大片| 国产综合日韩另类一区二区| 国产高清不卡视频| 色吊丝av中文字幕| 99视频全部免费| 奇米影视狠狠精品7777| 中美日韩在线网免费毛片视频 | 日韩av电影一区二区三区四区| 久久国产成人精品国产成人亚洲| 国产亚洲视频免费播放| 国产人人射| 日韩国产另类| 精品伊人久久久香线蕉| 国产在线精彩视频论坛| 2021最新国产精品网站| 国产免费人成视频网| 久草视频精品| jizz国产视频| 日韩区欧美区| 五月婷婷中文字幕| 久久精品人妻中文视频| 久热中文字幕在线观看| 久久99国产乱子伦精品免| 久久一日本道色综合久久| 国产精品视频免费网站| 亚洲日本中文字幕乱码中文| 国产女同自拍视频| 美女扒开下面流白浆在线试听| 日韩精品一区二区深田咏美| 少妇被粗大的猛烈进出免费视频| 999精品在线视频| 午夜视频www| 免费毛片全部不收费的| 99热最新在线| 欧美精品亚洲精品日韩专区va| 丝袜美女被出水视频一区| 亚洲成在线观看| 日本道中文字幕久久一区| 亚洲中文字幕23页在线| 99久久精品视香蕉蕉| 国产激情无码一区二区免费| 青青青国产视频手机| 在线播放真实国产乱子伦| 免费99精品国产自在现线| 欧美日韩高清| 国产一区二区丝袜高跟鞋| 中文字幕久久波多野结衣| 国产网站一区二区三区|