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

跨站腳本攻擊與防范研究

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

張雨鋒,王 炅

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

0 引言

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

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

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

1 跨站腳本攻擊問題現(xiàn)狀

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

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

2 跨站腳本漏洞原理

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

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

3 XSS類型與漏洞成因分析

3.1 XSS類型

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

3.2 反射型XSS

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

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

漏洞成因:XSS漏洞通常發(fā)生在應用程序?qū)⑽唇?jīng)處理的用戶輸入或用戶可控參數(shù)輸出到頁面上的情況下,以下是一些主要的場景。

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

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

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

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

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

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

3.3 存儲型XSS

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

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

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

3.4 DOM型XSS

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

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

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

3.5 通用型XSS

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

3.5.1 漏洞成因

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

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

3.5.2 幾個典型的漏洞案例

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

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

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

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

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

Chrome瀏覽器的安全性備受關注,因此它的XSS攻擊潛力受到限制。攻擊者可以利用Chrome的Intent對象,創(chuàng)建一個惡意的網(wǎng)頁,并注入大量的病毒和木馬。由于Intent對象的存在,攻擊者可以輕松地通過Chrome來執(zhí)行攻擊,因為它們可以直接與Android操作系統(tǒng)的其他組件進行交互,而無需任何額外的權限。這使得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屬性時,會出現(xiàn)一些意外的變化,從而可能導致原本安全的HTML代碼被渲染成可能帶來威脅的XSS攻擊代碼,這將導致原本的安全認定失效。

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

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

3.6.2 mXSS的類型

(1)反引號打破屬性邊界導致的 mXSS。該類型是最早被發(fā)現(xiàn)并利用的一類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 表示。通常情況下,這種轉義方式不會出現(xiàn)問題。然而,在使用innerHTML時,一些奇怪的情況會發(fā)生,從而導致所謂的mXSS(CSS中的跨站腳本攻擊)。

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

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

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

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

4 XSS攻擊的預防

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

4.1 預防 DOM 型 XSS 攻擊

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

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

4.2 輸入過濾

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

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

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

4.3 前端渲染把代碼和數(shù)據(jù)分隔開

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

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

4.4 拼接HTML時對其進行轉義

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

5 結語

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

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

猜你喜歡
頁面用戶
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
關注用戶
商用汽車(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億用戶
100萬用戶
如何獲取一億海外用戶
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 黄色网站不卡无码| 国产又粗又爽视频| 亚洲国产精品人久久电影| 99尹人香蕉国产免费天天拍| 国产AV无码专区亚洲精品网站| 国产免费羞羞视频| 日韩第一页在线| 熟女视频91| 中文纯内无码H| 国产成人艳妇AA视频在线| 亚洲综合精品香蕉久久网| a天堂视频| 亚洲男人的天堂在线| 国产成人av一区二区三区| 99视频在线观看免费| 在线观看无码a∨| 国产精品亚洲一区二区三区z| 国产真实乱子伦视频播放| 伊人激情综合网| 亚洲av综合网| 尤物亚洲最大AV无码网站| 国产 在线视频无码| 亚洲国产精品无码久久一线| 嫩草国产在线| 久久激情影院| 九九热免费在线视频| 中文字幕在线欧美| 亚洲婷婷六月| 亚洲日本中文字幕乱码中文| 国内99精品激情视频精品| 亚洲男人的天堂久久精品| 免费a在线观看播放| 午夜限制老子影院888| 丰满人妻被猛烈进入无码| 日本免费高清一区| 91小视频版在线观看www| 日韩欧美中文在线| 有专无码视频| 久久精品无码中文字幕| 亚洲国产成人综合精品2020 | 一本综合久久| 91精品国产自产91精品资源| AV网站中文| 日韩欧美高清视频| 国产精品一区在线麻豆| 永久天堂网Av| 亚洲品质国产精品无码| 亚洲欧洲日本在线| 国产日产欧美精品| 福利视频一区| 99精品欧美一区| 亚洲国产精品日韩av专区| 精品久久久久久中文字幕女| 免费在线视频a| 国产三级毛片| 丝袜亚洲综合| 538国产在线| 亚洲二区视频| 成人精品亚洲| 亚洲视频黄| 男女男精品视频| 欧美成人午夜在线全部免费| 国产精品一老牛影视频| 久久综合成人| 色悠久久综合| 97超碰精品成人国产| 免费激情网址| 色综合中文| 中文字幕啪啪| 91精品情国产情侣高潮对白蜜| 国产成人高清精品免费软件| 色婷婷色丁香| 五月天婷婷网亚洲综合在线| 国产美女无遮挡免费视频网站 | 又爽又大又光又色的午夜视频| 国产主播一区二区三区| 激情网址在线观看| 国产又爽又黄无遮挡免费观看 | 91精品国产自产91精品资源| 91po国产在线精品免费观看| 亚洲成在人线av品善网好看| 在线免费不卡视频|