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

跨站腳本攻擊與防范研究

2023-10-05 03:13:14張雨鋒
無線互聯科技 2023年13期
關鍵詞:頁面用戶

張雨鋒,王 炅

(閩江學院 計算機與控制工程學院,福建 福州 350108)

0 引言

近十年來,我國互聯網行業經歷了蓬勃發展的階段。隨著用戶數量的不斷增加,互聯網技術的創新、數字經濟的發展以及政府數字化建設方面的技術水平也得到了顯著提升。隨著互聯網的不斷發展,越來越多的用戶加入網絡社會中,各類互聯網應用不斷涌現,互聯網凝聚了全世界最為龐大的用戶群體。

近年來,隨著社交網絡、微博等一系列社交軟件以及其他互聯網應用的不斷涌現,Web環境上的互聯網應用已經得到廣泛應用。然而,由于Web應用程序的廣泛使用,跨站腳本攻擊(XSS攻擊)已成為一種常見的網絡安全問題。

攻擊者可以在Web應用程序中注入JavaScript腳本或HTML標簽等代碼,從而利用用戶的信任,欺騙受害者執行惡意腳本。這種跨站腳本攻擊(Cross-Site Scripting,簡稱XSS)不僅可以導致用戶的個人信息被盜取,還可以使網站遭受癱瘓等嚴重后果。XSS攻擊具有易于實施、難以檢測等特點,成了當前Web應用程序中一種常見的網絡安全問題。

1 跨站腳本攻擊問題現狀

跨站腳本攻擊是當前Web漏洞中危害性和影響最大的一種攻擊手段。在當前的互聯網安全領域中,XSS攻擊成了一個備受關注的熱點問題。

由于互聯網不斷的發展和安全問題的不斷涌現,根據目前國家信息安全漏洞庫現有數據顯示,自2016年7月起已經發現和收集了9 401個XSS漏洞,2011年至今共新增了3 801個。在開放式Web應用程序安全項目的2007年到2013年報告中,XSS漏洞曾有3次位列前三。隨著互聯網應用的不斷發展,XSS攻擊已經變得越來越普遍且難以檢測。因此,研究跨站腳本攻擊的原理和利用變得尤為重要。如何檢測并預防XSS漏洞問題已經成了Web安全領域的重要問題。

2 跨站腳本漏洞原理

Cross-Site Scripting,可譯為“跨站腳本”或“層疊樣式表”。由于可能會存在縮寫混淆的問題,故跨站腳本攻擊另縮寫為XSS[1]。這是一種可以導致網頁應用程序出現問題的安全漏洞攻擊方式。

XSS攻擊旨在攻擊并破壞網絡安全,它會在網絡中植入各種巧妙的惡意指令并使其進入網頁,讓用戶進行加載并執行。雖然這些執行惡意的網頁程序大多數是JavaScript,但在Java、VBScript、LiveScript、ActiveX、Flash與HTML中也可以執行。在攻擊成功后,攻擊方有一定可能會獲得一些權限,這些權限可以授權攻擊者執行一些操作,比如瀏覽私密內容,也可能直接影響用戶的瀏覽體驗,這一行為將會破壞安全系統的穩定性和安全性,給個人或社會造成損失。

3 XSS類型與漏洞成因分析

3.1 XSS類型

XSS可以被劃分為幾種不同的類型,其中包括:非持久性型(反射型)XSS、持久型(存儲型)XSS、通用型XSS以及突變型XSS[2]。

3.2 反射型XSS

反射型XSS攻擊是一種利用應用程序反射用戶輸入并將惡意腳本反映到瀏覽器中的攻擊方式。攻擊者會將惡意代碼注入URL參數或表單中,當用戶訪問包含該參數或表單的頁面時,惡意腳本就會被執行。攻擊者通常通過誘導用戶訪問包含惡意腳本的URL來實現攻擊。

舉個例子,如果用戶在不加防范的情況下將用戶名設置為,那么在訪問特定頁面時,這段代碼就會被反射到瀏覽器中并執行。這種攻擊可以導致各種安全問題,例如竊取用戶的敏感信息或篡改頁面內容。

漏洞成因:XSS漏洞通常發生在應用程序將未經處理的用戶輸入或用戶可控參數輸出到頁面上的情況下,以下是一些主要的場景。

(1)將不可信數據插入HTML標簽之間時;將不可信數據插入HTML屬性里時;將不可信數據插入SCRIPT里時[3]。

(2)將不可信數據插入Style屬性里的情況,同樣具有一定的危害性。

(3)將不可信數據插入HTML URL里時。

(4)使用富文本時,并未采用XSS規則引擎來實現編碼過濾。

對于以上的幾個場景,若服務端或者前端沒有做好防范措施,就會出現漏洞隱患。

反射型XSS攻擊通常可以利用搜索和其他應用程序功能,但相對于存儲型XSS攻擊,它的安全性較低。這是因為反射型XSS攻擊需要用戶點擊相關鏈接才能被觸發,而且現代瀏覽器的內置XSS保護程序和防御措施(如NoScript)可以減少其威脅。盡管如此,反射型XSS攻擊仍然可能導致用戶信息泄露和身份盜竊等嚴重問題。

3.3 存儲型XSS

持久型XSS攻擊通常是通過社交網絡和Web文檔等方式實現的HTML注入。與反射型XSS攻擊不同的是,持久型XSS攻擊不需要任何特定的鏈接來傳播。它將惡意代碼嵌入目標網站的數據庫中,從而在其他用戶訪問該網站時自動執行。

這種攻擊技術的優勢在于,它只需要感染一次就可以影響到許多用戶。持久型XSS攻擊可能出現在多種網絡環境中,例如博客評論、用戶評論、留言板、社交媒體、HTML電子郵件等。當用戶訪問被感染的網站時,惡意代碼將自動執行,可能導致用戶信息泄露和身份盜竊等安全問題。

漏洞成因:XSS漏洞的產生可以歸結為兩種原因。(1)惡意程序的存儲可能會導致XSS漏洞。攻擊者可以將惡意代碼存儲在服務器上,以便將其注入網站的頁面中。(2)XSS漏洞也可能是由于其他用戶在前端,或者是管理員在前后端的訪問時無意間執行了惡意代碼而導致的。攻擊者可以通過各種方式欺騙用戶或管理員,使其執行惡意代碼,從而產生跨站連接并且可能產生跨站的攻擊。

3.4 DOM型XSS

DOM是一個與平臺和編程語言無關的接口,可以通過JavaScript對網頁顯示內容和操作瀏覽器的接口進行訪問和操作。它的主要作用是讓信息無需通過服務器而直接在瀏覽器中接收和處理,從而減輕服務器的負擔。

然而,在DOM節點通過修改頁面內容的操作中,存在一種XSS攻擊方式,稱為DOM Based XSS。與其他類型的XSS攻擊相比,DOM Based XSS攻擊具有較高的隱蔽性和難度。

漏洞成因:DOM型XSS是基于DOM文檔對象模型[4],其本質是一份XML文檔。它能夠讓瀏覽器通過JavaScript更加便捷地訪問和使用DOM,它的出現大大提高了瀏覽器的效率。當發現并確認客戶端代碼中存在DOM型XSS漏洞時,釣魚者會利用自己構建的URL誘導用戶進行訪問,這種利用方式與反射型技術有相似之處。它的優勢在于,構造的URL參數無需發送到服務器,從而實現繞過WAF、躲避服務端的檢測功能。

3.5 通用型XSS

通用型XSS也叫做UXSS或者Universal XSS,全稱Universal Cross-Site Scripting。上文所提到的3種XSS攻擊的是因為客戶端或服務端的代碼開發不嚴謹等問題而存在漏洞的目標網站或者應用程序。這些攻擊的先提條件是訪問頁面存在漏洞,但是UXSS是一種利用瀏覽器或者瀏覽器擴展漏洞來制造產生XSS的條件[5]并執行代碼的一種攻擊類型。

3.5.1 漏洞成因

由于Web瀏覽器具有強大的功能,因此成了當前大多數人使用的應用程序之一。然而,一旦新漏洞被發現,無論是被攻擊者利用還是向官方報告,都需要相當長的時間來解決,這段時間內漏洞可能會被用于UXSS攻擊。

隨著技術的發展,越來越多的瀏覽器支持擴展程序,但這也可能會給用戶帶來更多的安全隱患。UXSS攻擊是其中一種,它不僅可以攻擊網站頁面,還可以訪問其他沒有漏洞的頁面,因此成為XSS攻擊中最具破壞力的類型之一。

3.5.2 幾個典型的漏洞案例

(1)Adobe Acrobat的IE6和火狐瀏覽器可能存在安全漏洞。

這是一個比較經典的例子。當在使用擴展程序時可能會導致錯誤,使得代碼可以執行。具體來說,在PDF閱讀器中存在漏洞,允許攻擊者在客戶端執行腳本。攻擊者可以構造惡意頁面并寫入惡意腳本,然后利用擴展程序打開PDF時運行代碼。Stefano Di Paola和Giorgio Fedon首先記錄和描述了一個在Mozilla Firefox瀏覽器中Adobe Reader插件中可利用的UXSS缺陷,該插件通過一系列參數允許從外部數據源獲取數據以填充文檔表單,如果沒有正確執行,將允許跨站腳本攻擊。具體案例可以詳見:Acrobat插件中的UXSS報告。

(2)Flash Player UXSS漏洞-CVE-2011-2107。

在2011年,發現了一個Flash Player插件中的漏洞,該漏洞存在于所有版本中。攻擊者可以利用構造的.swf文件來訪問Gmail設置并添加轉發地址,從而收到任意一個被攻破的Gmail賬號的所有郵件副本(發送時都會抄送)。Adobe承認了這個漏洞的存在。具體案例可以詳見: Flash Player UXSS漏洞-CVE-2011-2107報告。

(3)安卓版Chrome瀏覽器漏洞。

Chrome瀏覽器的安全性備受關注,因此它的XSS攻擊潛力受到限制。攻擊者可以利用Chrome的Intent對象,創建一個惡意的網頁,并注入大量的病毒和木馬。由于Intent對象的存在,攻擊者可以輕松地通過Chrome來執行攻擊,因為它們可以直接與Android操作系統的其他組件進行交互,而無需任何額外的權限。這使得Chrome成為攻擊者的熱門目標之一。具體案例可以詳見: Issue 144813: Security: UXSS via com.android.browser.application_id Intent extra。

3.6 突變型XSS

突變型XSS也被稱為mXSS或Mutation-based Cross-Site-Scripting,這是一種XSS攻擊的變體。

3.6.1 漏洞成因

當JavaScript代碼被映射到innerHTML屬性時,會出現一些意外的變化,從而可能導致原本安全的HTML代碼被渲染成可能帶來威脅的XSS攻擊代碼,這將導致原本的安全認定失效。

在攻擊代碼段中,當一些JS代碼被輸出到DOM中或其他形式被再次渲染時,就會導致XSS攻擊的執行。這種在HTML內容進入innerHTML后發生的意外變化,也會導致XSS攻擊流程的發生。

這種類型的XSS攻擊流程是將拼接的內容置于innerHTML屬性中,這種操作在現代WEB應用代碼中非常常見,因為很多WEB應用都使用了innerHTML屬性。這將導致潛在的mXSS攻擊。從瀏覽器的角度來看,mXSS對三大主流瀏覽器(IE、Chrome、Firefox)都有影響。

3.6.2 mXSS的類型

(1)反引號打破屬性邊界導致的 mXSS。該類型是最早被發現并利用的一類mXSS,于2007年被提出,隨后被有效地修復。

(2)未知元素中的xmlns屬性所導致的mXSS。一些瀏覽器不支持HTML5的標記,例如IE8會將article、aside、menu等當作是未知的HTML標簽。

(3)在CSS中,可以使用反斜線“”對字符進行轉義,例如property: 'v【1 lue'表示property: 'value',其中61是字母a的ASCII碼(16進制)。此外,反斜線后也可以接Unicode編碼,例如:20AC 表示。通常情況下,這種轉義方式不會出現問題。然而,在使用innerHTML時,一些奇怪的情況會發生,從而導致所謂的mXSS(CSS中的跨站腳本攻擊)。

(4)CSS中雙引號實體或轉義導致的mXSS。接上一部分,這依然是CSS中所存在的問題," " " 等雙引號的表示形式均可導致這類問題。

(5)CSS屬性名中的轉義所導致的mXSS。

(6)非HTML文檔中的實體突變。

(7)HTML文檔中的非HTML上下文的實體突變。

4 XSS攻擊的預防

XSS攻擊涉及兩個要素:攻擊者提交惡意代碼和瀏覽器執行惡意代碼。基于這兩個攻擊要素,有4種預防方式可供選擇。

4.1 預防 DOM 型 XSS 攻擊

DOM類型的XSS攻擊涉及網站前端JavaScript代碼的問題,即前端代碼對不可信數據的處理不夠嚴謹,導致將不可信數據當成代碼來執行。特別是在使用.innerHTML、.outerHTML、document.write()這些操作時,更要引起重視,不能把不可信數據當成HTML插入頁面中,應該盡可能地使用.textContent、.setAttribute()等方法來處理。

在DOM中,內聯事件監聽器,如location、onclick、onerror、onload、onmouseover以及標簽的href屬性和JavaScript的eval、setTimeout、setInterval等方法,都可以將字符串轉換成可執行的代碼。如果未經驗證的數據被拼接到這些字符串中并傳遞給API,則會極大地增加安全風險,因此必須謹慎處理,以確保系統的穩定性。

4.2 輸入過濾

當數據經過前端過濾并傳遞到后端進行處理時,如果攻擊者能夠繞過前端的過濾機制,直接構造請求并提交惡意代碼,就會對系統安全帶來威脅。為了解決這個問題,可以在后端將用戶輸入的信息進行過濾,然后再存入數據庫中。例如:一個普通用戶輸入了5 <7,后端將其轉化為5 $lt; 7,即在錄入之前進行轉義處理,避免惡意代碼的注入。

但是,即使對用戶輸入進行了過濾,也不能確定這個內容會輸出到什么地方。這里有兩個問題:(1)用戶輸入的信息可能會同時發送到前端和客戶端,如果通過 escapeHTML() 處理,客戶端展示的信息將成為雜亂碼(例如:5 $lt; 7);(2)在前端中,所需的代碼根據其不同的位置也應當不同。例如:在使用 5 $lt; 7 作為 HTML 拼接頁面的時候,可以正常地顯示出:5 <7 這一內容。

因此,采取輸入過濾并非完全可靠。“防止瀏覽器執行惡意代碼”提供了一種關于此類XSS的防護措施,可以采用如下兩種方式進行有效的防護。

4.3 前端渲染把代碼和數據分隔開

為了提高瀏覽器的安全性并避免被攻擊者利用,本研究可以在前端渲染過程中明確告知瀏覽器需要包含哪些內容,例如:文本(.innerText)、屬性(.setAttribute)、樣式(.style)等。這樣瀏覽器就能更加安全地執行預期的代碼,避免受到欺騙。

具體來說,為了避免使用innerHTML造成的XSS漏洞,可以使用textContent或innerText代替innerHTML來設置DOM元素的文本內容;在使用jQuery庫時,可以使用text()方法而不是html()方法來設置元素的文本內容,以減少XSS的風險。

4.4 拼接HTML時對其進行轉義

為了在拼接HTML時有效地進行轉義,應該使用適當的轉義庫。常用的模板引擎(如 doT.js、ejs 和 FreeMarker)通常只會將&<>"'/這幾個字符進行轉義,雖然這樣有助于保護HTML,但仍然存在一些缺陷。因此,為了更好地保護網站免受XSS攻擊,應該使用更加嚴格的轉義規則,并確保在所有的輸入點(包括從數據庫中讀取的數據)都應用適當的轉義規則。

5 結語

隨著數字化程度的提高和信息技術的快速發展,本研究的生活和工作方式已經發生了根本性的變化。隨之而來的是,網絡安全問題也越來越頻繁地發生。特別是在金融、醫療、軍事和能源等重要行業,一旦遭到黑客攻擊或病毒感染,將可能導致重大的經濟和社會損失,甚至威脅到國家安全。在這些領域,安全問題不僅是技術問題,更是一個戰略問題。

OWASP Top 10中的十大安全漏洞問題,雖然已經成為業界公認的安全標準,但是這些漏洞并不是一成不變的。隨著黑客攻擊手段的不斷升級和安全技術的不斷創新,新的安全問題也不斷出現。因此,本研究需要對網絡安全問題保持高度的關注,及時掌握最新的安全技術和漏洞信息,采取有效的安全措施來保護本研究的網絡系統和數據安全。這包括加強用戶教育、制定更加嚴格的安全策略和規定、加強網絡監控等。只有通過這些綜合的措施,才能有效地保護本研究的網絡安全,確保本研究的數字生活更加安全、便利、高效。

猜你喜歡
頁面用戶
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(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
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 呦视频在线一区二区三区| 国产日韩欧美中文| 高清久久精品亚洲日韩Av| 国产精品jizz在线观看软件| 久久精品娱乐亚洲领先| 国产一级精品毛片基地| 亚州AV秘 一区二区三区| 欧美色99| 毛片久久网站小视频| 麻豆精品在线播放| 97超级碰碰碰碰精品| 91久久大香线蕉| 又大又硬又爽免费视频| v天堂中文在线| 成人欧美日韩| 亚洲最黄视频| 中文字幕第4页| 国产精品污污在线观看网站| 国内老司机精品视频在线播出| 国国产a国产片免费麻豆| 久久精品日日躁夜夜躁欧美| 超清无码一区二区三区| 凹凸国产熟女精品视频| av一区二区无码在线| 四虎国产永久在线观看| 欧美日韩北条麻妃一区二区| 亚洲精品国产成人7777| 广东一级毛片| www.亚洲天堂| 黄色三级毛片网站| 婷五月综合| 亚洲天堂2014| 成人午夜天| 精品视频福利| 久久综合婷婷| 永久免费av网站可以直接看的| 亚洲V日韩V无码一区二区| 青青青草国产| 国产一区二区精品高清在线观看 | 免费无码AV片在线观看中文| 热re99久久精品国99热| 5555国产在线观看| 美女被操黄色视频网站| 思思热精品在线8| 精品伊人久久大香线蕉网站| 久草青青在线视频| 欧美成人精品欧美一级乱黄| 亚洲成人网在线播放| 欧美国产综合色视频| 美女内射视频WWW网站午夜 | av天堂最新版在线| 在线欧美一区| 久久久久无码精品| 亚洲一区二区在线无码| 亚洲aaa视频| 国产网站一区二区三区| 91精品国产综合久久不国产大片| 四虎永久在线精品影院| 538国产视频| 国产a v无码专区亚洲av| 欧美人人干| 九一九色国产| 9cao视频精品| 亚洲综合色区在线播放2019 | 99精品这里只有精品高清视频| 精品在线免费播放| 欧美精品一区二区三区中文字幕| 亚洲精品视频网| 人妻无码中文字幕一区二区三区| 国产日韩欧美成人| 欧美无遮挡国产欧美另类| 婷婷久久综合九色综合88| 国产91特黄特色A级毛片| 日韩欧美中文在线| 色婷婷亚洲综合五月| 伊人久久影视| 日韩免费毛片视频| 欧美、日韩、国产综合一区| 91免费国产高清观看| 欧美亚洲中文精品三区| 青青国产视频| 亚洲欧美在线综合一区二区三区 |