• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向規(guī)則缺陷的瀏覽器XSS過(guò)濾器測(cè)試方法

      2018-12-25 03:56:28桂智杰舒輝
      關(guān)鍵詞:樣例過(guò)濾器瀏覽器

      桂智杰,舒輝

      ?

      面向規(guī)則缺陷的瀏覽器XSS過(guò)濾器測(cè)試方法

      桂智杰1,2,舒輝1,2

      (1. 中國(guó)人民解放軍信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,河南 鄭州 450001;2. 數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001)

      為了緩解跨站腳本(XSS,cross-site scripting)攻擊,現(xiàn)代瀏覽器使用XSS過(guò)濾器進(jìn)行防御,現(xiàn)有方法很難有效對(duì)瀏覽器XSS過(guò)濾器的安全性進(jìn)行測(cè)試與評(píng)估。規(guī)則缺陷是瀏覽器XSS過(guò)濾器實(shí)現(xiàn)過(guò)程中的缺陷和安全問(wèn)題。面向?yàn)g覽器XSS過(guò)濾器規(guī)則缺陷,給出其形式化定義,設(shè)計(jì)測(cè)試樣例和場(chǎng)景生成算法。為了定量測(cè)試與評(píng)估不同瀏覽器XSS過(guò)濾器的過(guò)濾水平,結(jié)合過(guò)濾成功率、誤報(bào)率、輸入損耗計(jì)算過(guò)濾能力?;谒岱椒?,設(shè)計(jì)原型系統(tǒng)對(duì)幾種主流瀏覽器XSS過(guò)濾器進(jìn)行自動(dòng)化測(cè)試,得到了不同瀏覽器的XSS過(guò)濾能力。經(jīng)過(guò)實(shí)際測(cè)試,該系統(tǒng)具備發(fā)現(xiàn)未公開(kāi)漏洞的能力。

      跨站腳本攻擊;瀏覽器XSS過(guò)濾器;規(guī)則缺陷;過(guò)濾能力

      1 引言

      XSS攻擊[1]是一種利用服務(wù)器端防御不嚴(yán)導(dǎo)致針對(duì)Web應(yīng)用前端的攻擊方式。在不加防御的情況下,攻擊者利用XSS漏洞可以向用戶發(fā)送惡意腳本,最終被瀏覽器解釋執(zhí)行,達(dá)到盜取cookie和登錄賬號(hào)等目的。到目前為止,攻擊者發(fā)送的惡意腳本已經(jīng)不限于JavaScript片段,而是包括HTML、SVG或者Flash等可能執(zhí)行的任何其他類型的代碼。

      由于XSS攻擊的影響,如何緩解XSS顯得尤為重要。目前有如下幾種防御或者緩解方式:瀏覽器XSS過(guò)濾器、內(nèi)容安全策略、HTML sanitizers和WAF(Web application firewall)。除基于客戶端瀏覽器XSS過(guò)濾器外,其余幾種都有較為通用的繞過(guò)思路和一般性安全問(wèn)題,并且有系統(tǒng)的評(píng)估和測(cè)試方法。然而,目前測(cè)試評(píng)估瀏覽器XSS過(guò)濾器的方法還比較欠缺,無(wú)法有效地綜合評(píng)估現(xiàn)有XSS過(guò)濾器的過(guò)濾能力。在此基礎(chǔ)上,挖掘?yàn)g覽器XSS過(guò)濾器模塊漏洞主要采取模糊測(cè)試的方法,該方法為了提高代碼覆蓋率,導(dǎo)致產(chǎn)生大量誤用測(cè)試樣例,漏洞挖掘效率低。

      Microsoft從Internet Explorer 8開(kāi)始實(shí)現(xiàn)了初代的XSS過(guò)濾器,稱為XSS Filter。瀏覽器內(nèi)核Webkit自身也內(nèi)嵌一個(gè)XSS過(guò)濾器,稱為XSS Auditor,故基于Webkit的瀏覽器(如Chrome、Safari等)使用的是XSS Auditor,國(guó)內(nèi)的一些瀏覽器(如搜狗和獵豹)也是內(nèi)置XSS Auditor。Firefox瀏覽器由于多種原因并沒(méi)有XSS過(guò)濾器,在本文測(cè)試過(guò)程中主要用于對(duì)照實(shí)驗(yàn)。本文中瀏覽器XSS過(guò)濾器泛指所有瀏覽器XSS的過(guò)濾模塊,XSS Filter特指Internet Explorer(IE)瀏覽器的XSS過(guò)濾模塊,XSS Auditor特指基于Webkit內(nèi)核瀏覽器的XSS過(guò)濾模塊。

      瀏覽器XSS過(guò)濾器研究領(lǐng)域已經(jīng)有一些關(guān)于XSS Filter設(shè)計(jì)理念和實(shí)現(xiàn)原理的文章和綜述。Ross在文獻(xiàn)[2]介紹了IE 8瀏覽器XSS Filter的體系結(jié)構(gòu)和實(shí)現(xiàn)思路。IE瀏覽器XSS Filter通過(guò)監(jiān)控Request URL,基于正則表達(dá)式進(jìn)行匹配XSS攻擊向量。若匹配成功,則建立一個(gè)簽名(Signature),并在HTTP Response中使用中性字符替換。

      在IE XSS Filter提出后,Nava等在文獻(xiàn)[3]給出了IE 8 XSS Filter濫用導(dǎo)致的問(wèn)題。該方法利用IE XSS Filter正則替換存在的漏洞,注入虛假參數(shù),導(dǎo)致XSS過(guò)濾器響應(yīng),對(duì)正常頁(yè)面進(jìn)行修改。

      2010年Bates等在文獻(xiàn)[4]中提出了基于正則表達(dá)式的XSS Filter存在的錯(cuò)報(bào)誤報(bào)問(wèn)題和過(guò)濾不嚴(yán)被繞過(guò)問(wèn)題,并在Webkit中構(gòu)建了XSS Auditor,在文章中說(shuō)明了該模塊的體系架構(gòu)和技術(shù)原理。XSS Auditor作用于網(wǎng)頁(yè)解析時(shí),通過(guò)對(duì)Webkit解析出的Token序列進(jìn)行審計(jì),檢測(cè)如內(nèi)聯(lián)事件處理程序和資源引用等危險(xiǎn)屬性,并在Response中進(jìn)行匹配。

      綜上所述,在瀏覽器XSS過(guò)濾器研究領(lǐng)域,目前尚無(wú)很好的測(cè)試過(guò)濾器的方法和定量的測(cè)試結(jié)果。在評(píng)估的基礎(chǔ)上,現(xiàn)有的瀏覽器XSS過(guò)濾器漏洞挖掘效率低,無(wú)法有效找出其潛在的安全問(wèn)題。

      針對(duì)上述問(wèn)題,本文有如下貢獻(xiàn)。

      1) 通過(guò)源碼審計(jì)或者逆向分析,分析目前2種主流瀏覽器XSS過(guò)濾器原理以及實(shí)現(xiàn)上的問(wèn)題,列舉了4種典型的規(guī)則缺陷。

      2) 形式化定義規(guī)則缺陷,并且設(shè)計(jì)面向規(guī)則缺陷生成測(cè)試樣例和測(cè)試場(chǎng)景的算法??紤]過(guò)濾成功率、誤報(bào)率、輸入損耗,給出計(jì)算瀏覽器XSS過(guò)濾器過(guò)濾能力的公式。

      3) 設(shè)計(jì)與實(shí)現(xiàn)原型測(cè)試系統(tǒng),對(duì)目前幾種主流的瀏覽器進(jìn)行實(shí)際測(cè)試,得到了不同瀏覽器XSS過(guò)濾器的過(guò)濾能力。

      4) 在分析規(guī)則缺陷和實(shí)際測(cè)試的基礎(chǔ)上,對(duì)瀏覽器XSS過(guò)濾器潛在的安全漏洞進(jìn)行挖掘,找到了多個(gè)瀏覽器最新版XSS過(guò)濾器的未公開(kāi)漏洞,并通知廠商及時(shí)修補(bǔ)。

      2 瀏覽器XSS過(guò)濾器規(guī)則缺陷分析

      本文主要探討Chrome和Internet Explorer 2種瀏覽器,其XSS過(guò)濾器有著不同的實(shí)現(xiàn)方式。Chrome的XSS Auditor內(nèi)嵌于Webkit,作用在HTML解析過(guò)程中,對(duì)HTML解析器生成的詞語(yǔ)流進(jìn)行過(guò)濾。Internet Explorer的XSS Filter實(shí)現(xiàn)在mshtml.dll動(dòng)態(tài)鏈接庫(kù)中,作用于服務(wù)器與客戶端之間的數(shù)據(jù)請(qǐng)求與響應(yīng),對(duì)瀏覽器返回?cái)?shù)據(jù)進(jìn)行匹配過(guò)濾。

      在對(duì)瀏覽器XSS過(guò)濾器模板進(jìn)行分析和調(diào)試的基礎(chǔ)上,下面介紹2種瀏覽器XSS過(guò)濾器的規(guī)則缺陷。

      2.1 Chrome XSS Auditor規(guī)則缺陷

      XSS Auditor作用于HTML語(yǔ)言的解釋構(gòu)建DOM過(guò)程,在詞語(yǔ)生成后,Webkit調(diào)用XSS Auditor驗(yàn)證詞語(yǔ)流來(lái)緩解XSS攻擊。XSS Auditor模塊架構(gòu)如圖1所示。

      圖1 XSS Auditor模塊架構(gòu)

      HTML是將HTML從字節(jié)流解釋構(gòu)建為DOM樹(shù)的過(guò)程,由HTML解釋器(HTML Parser)負(fù)責(zé)實(shí)施。在Webkit實(shí)現(xiàn)過(guò)程中,HTML Parser模塊中的HTMLDocumentParser類用于完成上述過(guò)程。在上述過(guò)程中,輸入的資源首先從字節(jié)流轉(zhuǎn)化為詞語(yǔ)流(Tokens)。當(dāng)詞語(yǔ)生成后,XSS Auditor模塊對(duì)詞語(yǔ)進(jìn)行過(guò)濾。經(jīng)過(guò)對(duì)XSS Auditor實(shí)現(xiàn)源碼的閱讀與實(shí)際測(cè)試,發(fā)現(xiàn)存在2種典型的規(guī)則缺陷,并且這里的規(guī)則缺陷適用于所有使用Webkit的瀏覽器。

      1) 規(guī)避HTML解析

      正如上述XSS Auditor模塊架構(gòu)所描述的,該過(guò)濾器基于HTML解析過(guò)程,如果返回代碼沒(méi)有經(jīng)過(guò)HTML解析,就完全不會(huì)啟動(dòng)XSS Auditor[5]。

      這種情況在實(shí)際Web開(kāi)發(fā)中時(shí)常出現(xiàn),如Web應(yīng)用前端頁(yè)面中使用eval函數(shù)執(zhí)行從服務(wù)器端返回的數(shù)據(jù),此時(shí)就不進(jìn)行HTML解析,不啟動(dòng)XSS Auditor,這樣就從避免HTML解析的角度完全繞過(guò)XSS Auditor的過(guò)濾,這是一種XSS Auditor實(shí)現(xiàn)上的規(guī)則缺陷,利用該規(guī)則缺陷,在合適場(chǎng)景的情況下,將可以繞過(guò)該過(guò)濾器。

      2) 請(qǐng)求代碼與解析代碼相異

      在XSS Auditor作用中最為關(guān)鍵的步驟是比對(duì)解析后代碼與請(qǐng)求是否相同,若相同,則判定存在反射性XSS攻擊。從反射性XSS原理上來(lái)講,就是通過(guò)攻擊者發(fā)送惡意Request,然后瀏覽器解析服務(wù)器端的Response,輸出到頁(yè)面上,從而執(zhí)行JavaScript代碼。

      想要繞過(guò)XSS Auditor,這是與XSS攻擊原理相矛盾的。這種情況下較為巧妙的繞過(guò)思路:通過(guò)構(gòu)造payload令請(qǐng)求代碼與解析代碼相異,達(dá)到繞過(guò)的目的。具體來(lái)說(shuō),有2種情況可以使用該規(guī)則缺陷:加密傳輸場(chǎng)景和HTML規(guī)范化渲染。

      2.2 Internet Explorer規(guī)則缺陷

      XSS Filter并不是作用于HTML頁(yè)面解析,而是作用于客戶端瀏覽器與服務(wù)器之間,攔截瀏覽器與服務(wù)器之間請(qǐng)求和返回的數(shù)據(jù)。XSS Filter模塊架構(gòu)如圖2所示。

      圖2 XSS Filter模塊架構(gòu)

      細(xì)化來(lái)看,XSS Filter的工作邏輯為:瀏覽器監(jiān)控Request URL,通過(guò)正則表達(dá)式匹配Http Request。若匹配成功,則認(rèn)為識(shí)別出一組XSS攻擊向量,就建立一個(gè)簽名。生成的Signature用于掃描HTTP Response,如果在響應(yīng)中也掃描到XSS攻擊向量,就返回修改。經(jīng)過(guò)對(duì)mshtml.dll的逆向分析,該過(guò)濾器有如下2種規(guī)則缺陷。

      1) 正則表達(dá)式非預(yù)期利用

      在過(guò)濾器測(cè)試系統(tǒng)中,不僅要看其過(guò)濾的成功率,還要看誤報(bào)率。Internet Explorer的XSS Filter采用正則表達(dá)式匹配Request,并且在Response中將匹配到的字符替換為中性字符,這是一種較為徹底的中和XSS攻擊向量的方式。

      正則表達(dá)式被期望用來(lái)尋找匹配攻擊向量進(jìn)行替換,通過(guò)構(gòu)造可以導(dǎo)致正則表達(dá)式被非預(yù)期利用。若用戶輸入了匹配正則規(guī)則的Request參數(shù),但這個(gè)參數(shù)并沒(méi)有返回到頁(yè)面,此時(shí)若頁(yè)面已經(jīng)有匹配項(xiàng),XSS Filter無(wú)法識(shí)別是用戶輸入與頁(yè)面已經(jīng)存在的,就將頁(yè)面中已有的匹配項(xiàng)做替換。

      這種正則表達(dá)式的非預(yù)期使用將導(dǎo)致HTML頁(yè)面被破壞[6],在場(chǎng)景合適的情況下,還會(huì)利用誤報(bào)導(dǎo)致XSS。

      2) 正則匹配規(guī)則繞過(guò)

      XSS Filter的匹配是基于正則表達(dá)式的,該表達(dá)式在mshtml.dll動(dòng)態(tài)鏈接庫(kù)中。隨著Internet Explorer的更新,這些表達(dá)式愈加復(fù)雜。圖3顯示了mshtml.dll動(dòng)態(tài)鏈接庫(kù)中部分正則表達(dá)式。這些表達(dá)式無(wú)法通盤考慮攻擊向量的變化形式,可以對(duì)攻擊向量進(jìn)行編碼繞過(guò)。

      圖3 IDA中顯示的mshtml.dll的正則表達(dá)式

      3 測(cè)試方法概述

      對(duì)瀏覽器的XSS過(guò)濾器或者廣義上的任意XSS過(guò)濾模塊來(lái)說(shuō),其功能是緩解XSS攻擊效果的,即若編寫(xiě)不當(dāng)?shù)腤eb應(yīng)用存在XSS漏洞,使用XSS過(guò)濾器可以使常見(jiàn)攻擊向量失去作用。本節(jié)在分析規(guī)則缺陷特征基礎(chǔ)上,形式化定義規(guī)則缺陷向量、攻擊模板向量和場(chǎng)景模板向量,并面向?yàn)g覽器XSS過(guò)濾器規(guī)則缺陷,生成測(cè)試場(chǎng)景和測(cè)試樣例,結(jié)合過(guò)濾成功率、誤報(bào)率和輸入損耗計(jì)算過(guò)濾能力,評(píng)價(jià)XSS過(guò)濾器的過(guò)濾能力。

      3.1 形式化定義

      為了使規(guī)則缺陷的概念具有一般性和普適性,從缺陷發(fā)生位置loc、繞過(guò)方法way、作用效果res這3個(gè)角度提取其特征,利用多元組進(jìn)行表示,從而定義規(guī)則缺陷向量:

      其中,向量的各個(gè)元素都是非空有限集合,在分析已有瀏覽器規(guī)則缺陷的基礎(chǔ)上,對(duì)上述元素再次細(xì)分,做如下定義,并通過(guò)序號(hào)進(jìn)行替代量化,如表1所示。

      表1 規(guī)則缺陷向量

      在規(guī)則定義量化的基礎(chǔ)上,分析XSS攻擊向量結(jié)構(gòu)特征[7],建立XSS攻擊模板向量。

      多元組元素分別為HTML標(biāo)簽外文本、HTML標(biāo)簽、HTML標(biāo)簽屬性名稱、HTML標(biāo)簽屬性值、HTML標(biāo)簽內(nèi)文本和注釋。在這種定義下,可以通用地描述各類XSS攻擊向量[8],以如下攻擊向量為例。

      將上述攻擊向量根據(jù)sampleTemp形式化后,結(jié)果如下。

      在測(cè)試系統(tǒng)中,場(chǎng)景是指后端服務(wù)器處理程序,一般使用PHP語(yǔ)言編寫(xiě),用于處理前端的Request。對(duì)場(chǎng)景結(jié)構(gòu)特征進(jìn)行分析,建立場(chǎng)景模板向量。

      多元組元素分別為場(chǎng)景文本、場(chǎng)景判斷邏輯、場(chǎng)景處理邏輯和注釋。以一個(gè)測(cè)試場(chǎng)景(測(cè)試場(chǎng)景一般用PHP編寫(xiě))為例,形式化后的結(jié)構(gòu)如圖4所示。

      圖4 形式化后的測(cè)試場(chǎng)景

      3.2 測(cè)試樣例和場(chǎng)景生成算法

      3.2.1 算法概述

      在形式化定義規(guī)則缺陷向量、攻擊模板向量和場(chǎng)景模板向量的基礎(chǔ)上,可以面向規(guī)則缺陷生成測(cè)試樣例和測(cè)試場(chǎng)景,用于對(duì)瀏覽器XSS過(guò)濾器進(jìn)行自動(dòng)化測(cè)試。為了將生成過(guò)程表述清楚,定義向量的二元運(yùn)算符模板嵌入符號(hào)。

      在生成算法中,定義2個(gè)子算法,分別實(shí)現(xiàn)測(cè)試樣例生成子算法和測(cè)試場(chǎng)景生成子算法。

      3.2.2 測(cè)試樣例生成

      表2 基本測(cè)試集合攻擊向量

      該集合計(jì)算過(guò)程如下:

      結(jié)合模板嵌入符號(hào)可以計(jì)算其余3項(xiàng)內(nèi)容。

      3.2.3 測(cè)試場(chǎng)景生成

      測(cè)試場(chǎng)景是一個(gè)存在XSS漏洞的后端代碼,為了測(cè)試方便,所有場(chǎng)景基本邏輯都是將輸入返回到前端頁(yè)面,程序本身不加過(guò)濾或者轉(zhuǎn)義處理。在自動(dòng)化測(cè)試過(guò)程中,為了進(jìn)行對(duì)照實(shí)驗(yàn),同時(shí)設(shè)置基本測(cè)試場(chǎng)景和面向規(guī)則缺陷的測(cè)試場(chǎng)景進(jìn)行測(cè)試。本系統(tǒng)測(cè)試場(chǎng)景一般使用PHP語(yǔ)言編寫(xiě)。

      其余幾項(xiàng)的計(jì)算方法如下

      3.3 計(jì)算過(guò)濾能力算法

      在自動(dòng)化測(cè)試系統(tǒng)中,為了直觀地評(píng)價(jià)XSS過(guò)濾器的過(guò)濾能力(filter capacity),系統(tǒng)根據(jù)過(guò)濾成功率、誤報(bào)率、輸入損耗計(jì)算該值。下面分別介紹過(guò)濾能力及各個(gè)子參數(shù)的意義。

      算法1 計(jì)算輸入損耗值的算法

      2) if 過(guò)濾成功{

      3) for (=0;

      5) 如果返回值與請(qǐng)求的樣例值不相同{

      7) }

      8) }

      同時(shí),在過(guò)濾成功情況下,需要考慮過(guò)濾的損失,為了合理評(píng)估各個(gè)測(cè)試樣例的過(guò)濾損失,需要考慮其樣例的長(zhǎng)度。這里定義一個(gè)測(cè)試場(chǎng)景下,定量計(jì)算特定測(cè)試場(chǎng)景的過(guò)濾損失。

      綜合上述定義,該值計(jì)算公式為(為測(cè)試場(chǎng)景個(gè)數(shù))

      4 系統(tǒng)設(shè)計(jì)及實(shí)驗(yàn)分析

      為了驗(yàn)證本文方法的有效性,本節(jié)構(gòu)建了基于該方法的原型系統(tǒng)[10-11],對(duì)目前常用的3種瀏覽器(Internet Explorer、Chrome、Firefox)進(jìn)行了測(cè)試,得到了測(cè)試結(jié)果。在測(cè)試過(guò)程中,基于該測(cè)試方法,找到了多個(gè)瀏覽器XSS過(guò)濾器未公開(kāi)漏洞。

      4.1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      測(cè)試系統(tǒng)架構(gòu)如圖5所示。

      生成場(chǎng)景測(cè)試模塊:分為基本測(cè)試場(chǎng)景和面向規(guī)則缺陷的測(cè)試場(chǎng)景,使用PHP語(yǔ)言編寫(xiě)后端場(chǎng)景邏輯,布置在Web服務(wù)器上[12]。

      捕獲記錄模塊:捕獲頁(yè)面彈窗,并收集記錄[13],通過(guò)過(guò)濾能力計(jì)算公式計(jì)算。

      4.2 實(shí)驗(yàn)結(jié)果分析

      本節(jié)利用原型系統(tǒng),選擇不同的瀏覽器進(jìn)行自動(dòng)化測(cè)試,驗(yàn)證面向規(guī)則缺陷的瀏覽器XSS過(guò)濾器測(cè)試方法對(duì)過(guò)濾器的評(píng)估和測(cè)試水平。進(jìn)一步地,將該方法用于對(duì)主流瀏覽器XSS過(guò)濾器的漏洞挖掘[14]。本節(jié)測(cè)試環(huán)境如下:

      測(cè)試機(jī)器配置:Windows 10 1803 64 bit;python 2.7.13 64 bit;

      測(cè)試服務(wù)器環(huán)境: Centos 7 32bit;php version 5.5.38;

      測(cè)試瀏覽器版本:Chrome 68;Firefox 61;IE 11。

      4.2.1 多場(chǎng)景測(cè)試結(jié)果

      1) 基本測(cè)試場(chǎng)景

      在基本測(cè)試場(chǎng)景中,測(cè)試代碼的基本邏輯是將瀏覽器通過(guò)GET方式傳參內(nèi)容回顯到前端頁(yè)面上,所以該場(chǎng)景Web應(yīng)用有最為基礎(chǔ)的XSS漏洞。在基本測(cè)試樣例中,輸入基本測(cè)試樣例和混淆樣例進(jìn)行測(cè)試,結(jié)果如表3所示。

      表3 基本測(cè)試場(chǎng)景測(cè)試結(jié)果

      上述實(shí)驗(yàn)結(jié)果表明:對(duì)于基本的測(cè)試集合,不加任何其他邏輯的XSS漏洞,IE和Chrome的XSS過(guò)濾器能夠進(jìn)行過(guò)濾。但在此基礎(chǔ)上,IE瀏覽器的XSS Filter過(guò)濾存在較為嚴(yán)重的誤報(bào)問(wèn)題。

      2) HTML解析規(guī)避場(chǎng)景

      圖5 測(cè)試系統(tǒng)架構(gòu)

      規(guī)避HTML解析是本文提出的關(guān)于Chrome XSS Auditor實(shí)現(xiàn)上的一種規(guī)則缺陷,這里面向該規(guī)則缺陷編寫(xiě)HTML解析規(guī)避場(chǎng)景進(jìn)行測(cè)試。為了實(shí)現(xiàn)該場(chǎng)景,前端使用eval等動(dòng)態(tài)執(zhí)行代碼函數(shù)。在這種情況下,測(cè)試結(jié)果如表4所示。

      上述實(shí)驗(yàn)結(jié)果表明:對(duì)于基于HTML解析規(guī)避的規(guī)則缺陷的場(chǎng)景,IE和Chrome的XSS過(guò)濾器都不能很好地進(jìn)行過(guò)濾,并且Chrome的XSS Auditor對(duì)該測(cè)試樣例的過(guò)濾效果更差。

      3) 加密傳輸場(chǎng)景

      在加密傳輸?shù)哪承﹫?chǎng)景,前端請(qǐng)求值與服務(wù)器端返回值不相同。瀏覽器XSS過(guò)濾器從實(shí)現(xiàn)原理上無(wú)法對(duì)這種存在XSS漏洞的情形進(jìn)行處理,利用這種原理上的規(guī)則缺陷,生成一個(gè)前后端簡(jiǎn)單的加密場(chǎng)景,測(cè)試結(jié)果如表5所示。

      表4 HTML解析規(guī)避場(chǎng)景測(cè)試結(jié)果

      表5 加密傳輸場(chǎng)景測(cè)試結(jié)果

      上述實(shí)驗(yàn)結(jié)果表明:對(duì)于基于加密傳輸?shù)囊?guī)則缺陷的場(chǎng)景,IE和Chrome的XSS過(guò)濾器完全無(wú)法進(jìn)行防御。也就是說(shuō),如果Web應(yīng)用涉及加密傳輸,瀏覽器XSS過(guò)濾器無(wú)法對(duì)該應(yīng)用提供保護(hù)[15]。

      4.2.2 瀏覽器XSS過(guò)濾器過(guò)濾能力分析

      經(jīng)過(guò)上述實(shí)驗(yàn),根據(jù)瀏覽器XSS過(guò)濾器過(guò)濾能力的定義公式,可以計(jì)算得到上述3種瀏覽器XSS過(guò)濾器的過(guò)濾能力,結(jié)果如表6所示。

      表6 不同瀏覽器的過(guò)濾能力

      4.3 未公開(kāi)漏洞發(fā)現(xiàn)

      在分析多款瀏覽器XSS過(guò)濾器規(guī)則缺陷的基礎(chǔ)上,使用本文方法進(jìn)行實(shí)際測(cè)試,發(fā)現(xiàn)多個(gè)瀏覽器XSS過(guò)濾器的未公開(kāi)漏洞(CVE-2018-16415、CVE-2018-16734、CVE-2018- 16735等)。本文以國(guó)內(nèi)最新搜狗瀏覽器(截至測(cè)試,最新版本號(hào)為8.0.5.28300)為例,該瀏覽器XSS過(guò)濾器模塊存在處理零字節(jié)不嚴(yán)格問(wèn)題,經(jīng)過(guò)合理構(gòu)造,可以做到無(wú)場(chǎng)景限制繞過(guò)其過(guò)濾模塊(由于還未修補(bǔ),這里并不直接給出攻擊向量),已經(jīng)通知廠商(搜狗安全應(yīng)急響應(yīng)中心)及時(shí)修補(bǔ),該漏洞目前已經(jīng)被確認(rèn)。

      5 結(jié)束語(yǔ)

      本文針對(duì)瀏覽器XSS過(guò)濾器提供了一種面向規(guī)則缺陷的多場(chǎng)景測(cè)試方法,該方法在分析瀏覽器XSS過(guò)濾器規(guī)則缺陷的基礎(chǔ)上,給出規(guī)則缺陷形式化定義及基于規(guī)則缺陷生成測(cè)試樣例和測(cè)試場(chǎng)景的算法。為了更加直觀地評(píng)估各個(gè)瀏覽器XSS過(guò)濾器的過(guò)濾能力,定量定義了瀏覽器XSS過(guò)濾器過(guò)濾能力,并給出了計(jì)算公式。本文實(shí)現(xiàn)了原型自動(dòng)化測(cè)試系統(tǒng),選擇測(cè)試了部分主流瀏覽器XSS過(guò)濾器。實(shí)驗(yàn)結(jié)果表明,所提方法具有良好的測(cè)試與評(píng)估XSS過(guò)濾器的能力,且該方法生成的測(cè)試樣例集合能夠發(fā)現(xiàn)未知漏洞。

      [1] GUPTA BB, GUPTA S, GANGWAR S, et al. Meena PK (2015) cross-site scripting (XSS) abuse and defense: exploitation on several testing bed environments and its defense[J]. J Inf Privacy Secur 11(2): 118-136.

      [2] ROSS D. IE8 security part IV: the XSS filter[EB/OL]. http:// blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the- xss-filter.aspx, July 2008.

      [3] NAVA E, LINDSAY D. Abusing Internet Explorer 8's XSS filters[C]// BlackHat Europe. 2010.

      [4] BATES D, BARTH A, JACKSON C. Regular expressions considered harmful in client-side XSS filters[C]//19th International World Wide Web Conference. 2010.

      [5] LEKIES S, STOCK B, JOHNS M. 2014. A tale of the weaknesses of current client-side filtering[C]//Black Hat Europe. 2014.

      [6] 劉雅楠. Web前端攻擊及安全防護(hù)技術(shù)研究與實(shí)現(xiàn)[D]. 北京: 北京郵電大學(xué),2017. LIU Y N. Research and implementation of Web front-end attack and protection technology[D]. Beijing: Beijing University of Posts and Telecommunications, 2017.

      [7] LIU J D. An improved XSS vulnerability detection method based on attack vector[C]//2018 International Conference on Modeling, Simulation and Analysis. 2018:6.

      [8] PAN J K, et al. Taint inference for cross-site scripting in context of URL rewriting and HTML Sanitization[J]. ETRI Journal, 2016(2): 376-386.

      [9] 黃娜娜, 萬(wàn)良. 一種基于序列最小優(yōu)化算法的跨站腳本漏洞檢測(cè)技術(shù)[J]. 信息網(wǎng)絡(luò)安全,2017(10):55-62. HUANG N N, WAN L. A cross site script vulnerability detection technology based on sequential minimum optimization algorithm[J]. Netinfo Securi, 2017(10):55-62.

      [10] SALUNKE S S. Selenium Web driver in Python: learn with examples[M]. CreateSpace Independent Publishing Platform, 2014.

      [11] BEKRAR S, BEKRAR C, GROZ R, et al.Finding software vulnerabilities by smart fuzzing[C]//IEEE Fourth International Conference on Software Testing Verification and Validation. 2011.

      [12] ANASTASIOS S, NTANTOGIAN C, XENAKIS C. Bypassing XSS auditor: taking advantage of badly written PHP code[C]// IEEE International Symposium on Signal Processing and Information Technology. 2015: 290-295.

      [13] Taint inference for cross-site scripting in context of URL rewriting and HTML sanitization[J]. ETRI Journal, 2016, (2): 376-386.

      [14] LIU B W. XSS vulnerability scanning algorithm based on anti-filtering rules[C]//International Conference on Computer, Electronics and Communication Engineering. 2017.

      [15] LEKIES S, KOTOWICZ K, GROB S, et al. Code-reuse attacks for the Web: breaking cross-site scripting mitigations via script gadgets[C]//ACM SIGSAC Conference on Computer and Communications Security. 2017: 1709-1723.

      Rule-defect oriented browser XSS filter test method

      GUI Zhijie1,2, SHU Hui1,2

      1. School of Cyberspace Security, Information Support Engineering University of PLA, Zhengzhou 450001, China 2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China

      In order to alleviate XSS (cross-site scripting) attacks, modern browsers use XSS filters for defense. It is difficult to effectively test and evaluate the security of browser XSS filters. The rule-defect is the defect and security problem in the implementation process of browser XSS filter. The formal definition, design test sample and scene generation algorithm were presented for browser XSS filter rule-defects. In order to quantitatively test and evaluate the filtering level of different browser XSS filters, combined with filtering success rate, false positive rate, input loss calculation filtering ability. Based on the proposed method, the prototype system is designed to automate the testing of several mainstream browser XSS filters, and the XSS filtering capabilities of different browsers are obtained. Further, after actual testing, the system also has the ability to discover undisclosed vulnerabilities.

      cross-site scripting attack, browser XSS filter, rule-defect, filtering capabilitiy

      TP309

      A

      10.11959/j.issn.2096-109x.2018093

      桂智杰(1996-),男,安徽馬鞍山人,中國(guó)人民解放軍信息工程大學(xué)碩士生,主要研究方向?yàn)檐浖┒赐诰蚺c利用、逆向分析、嵌入式設(shè)備。

      舒輝(1974-),男,江蘇鹽城人,中國(guó)人民解放軍信息工程大學(xué)教授,主要研究方向?yàn)槟嫦蚬こ獭?/p>

      2018-10-10;

      2018-11-05

      桂智杰,2448405909@qq.com

      猜你喜歡
      樣例過(guò)濾器瀏覽器
      樣例復(fù)雜度與學(xué)習(xí)形式對(duì)不同數(shù)量樣例學(xué)習(xí)的影響
      樣例呈現(xiàn)方式對(duì)概念訓(xùn)練類別表征的影響
      “樣例教學(xué)”在小學(xué)高年級(jí)數(shù)學(xué)中的應(yīng)用
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      支持過(guò)濾器的REST模型研究與實(shí)現(xiàn)
      聲音過(guò)濾器
      環(huán)球?yàn)g覽器
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      樣例教學(xué)法回歸課堂教學(xué)之新認(rèn)識(shí)
      基于LOGO!的空氣過(guò)濾器自潔控制系統(tǒng)
      黑龙江省| 巨野县| 平遥县| 朝阳区| 温州市| 怀集县| 娄烦县| 大余县| 攀枝花市| 胶南市| 罗山县| 醴陵市| 平乐县| 云阳县| 高淳县| 漳州市| 宜宾县| 防城港市| 怀集县| 涞源县| 兰坪| 库车县| 大理市| 永仁县| 莲花县| 易门县| 灌南县| 会宁县| 威信县| 琼海市| 犍为县| 乐业县| 饶平县| 云梦县| 岑溪市| 林芝县| 商南县| 竹北市| 浦城县| 抚顺市| 旬阳县|