馬富天,,
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院 物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心,江蘇 無(wú)錫 214122)
跨站腳本(Cross-site Scripting,XSS)是當(dāng)前最為普遍的Web安全漏洞之一。根據(jù)OWASP(Open Web Application Security Project)開(kāi)放式Web應(yīng)用程序安全項(xiàng)目在2007年—2017年期間進(jìn)行了四次十大Web應(yīng)用安全漏洞統(tǒng)計(jì),報(bào)告顯示跨站腳本攻擊一直高居前列,是黑客攻擊Web應(yīng)用的主要手段之一。根據(jù)XSS攻擊方式及特征,可以將它分為反射型跨站腳本(reflected-XSS)、存儲(chǔ)型跨站腳本(stored-XSS)和基于文檔對(duì)象模型的跨站腳本(DOM-based XSS)[1],其中,存儲(chǔ)型跨站攻擊的危害較大。產(chǎn)生跨站腳本的直接原因是由于Web應(yīng)用程序缺少對(duì)用戶輸入的數(shù)據(jù)進(jìn)行有效驗(yàn)證與過(guò)濾[2-3]。攻擊者利用存在的漏洞把惡意腳本注入到頁(yè)面中,當(dāng)用戶瀏覽這些頁(yè)面時(shí),會(huì)觸發(fā)頁(yè)面中惡意腳本的執(zhí)行,對(duì)受害者發(fā)起信息盜取、會(huì)話劫持、網(wǎng)頁(yè)木馬掛載及破壞頁(yè)面結(jié)構(gòu)等各類攻擊。
通常檢測(cè)跨站腳本的方法主要有靜態(tài)分析、動(dòng)態(tài)分析和動(dòng)靜結(jié)合方式檢測(cè)[4]。靜態(tài)分析是通過(guò)審核源代碼的方式來(lái)挖掘潛在的漏洞,如文獻(xiàn)[5-6],其檢測(cè)準(zhǔn)確率和效率比動(dòng)態(tài)分析方法高一些。但在多數(shù)情況下,檢測(cè)人員都無(wú)法直接獲得Web應(yīng)用的源代碼,并且它對(duì)程序邏輯數(shù)據(jù)處理中出現(xiàn)的問(wèn)題不能有效的檢測(cè),對(duì)編程語(yǔ)言的類型也有一定的要求,同時(shí)其檢測(cè)能力也受限于源代碼的框架,可擴(kuò)展性能力較差。動(dòng)態(tài)分析是指在無(wú)需源代碼的前提下,采用模糊測(cè)試的方法來(lái)挖掘漏洞。在動(dòng)態(tài)分析方法中,文獻(xiàn)[7]通過(guò)分析HTML5的新標(biāo)簽、新屬性,引入了14個(gè)HTML5元素相關(guān)的初始攻擊向量,基于這些攻擊向量構(gòu)建了攻擊向量庫(kù),實(shí)現(xiàn)一個(gè)側(cè)重于Webmail系統(tǒng)的動(dòng)態(tài)跨站腳本檢測(cè)工具,該工具能夠有效的利用基于HTML5的攻擊向量檢測(cè)出系統(tǒng)中的XSS。文獻(xiàn)[8]提出通過(guò)攻擊向量規(guī)則庫(kù)生成初始攻擊向量,然后對(duì)初始攻擊向量使用機(jī)器學(xué)習(xí)算法進(jìn)行優(yōu)化,大幅度的減少初始攻擊向量庫(kù)的大小,得到最后的攻擊向量庫(kù)。
本文針對(duì)反射型和存儲(chǔ)型跨站腳本漏洞,提出一種動(dòng)態(tài)檢測(cè)XSS的方法。該方法首先通過(guò)自動(dòng)爬蟲爬取并分析Web應(yīng)用的所有頁(yè)面及注入點(diǎn),然后根據(jù)輸入點(diǎn)、輸出點(diǎn)類型自動(dòng)生成合法向量與攻擊向量,在攻擊過(guò)程中自適應(yīng)調(diào)整攻擊向量的優(yōu)先級(jí),優(yōu)先選取當(dāng)前時(shí)刻優(yōu)先級(jí)較高的攻擊向量類型,向服務(wù)器提交HTTP請(qǐng)求,根據(jù)反饋信息判斷漏洞是否存在,待整個(gè)攻擊過(guò)程結(jié)束,對(duì)站點(diǎn)進(jìn)行二次遍歷,重新檢測(cè)每個(gè)頁(yè)面中尚未被驗(yàn)證的攻擊向量。
Web應(yīng)用程序?yàn)榱吮苊馐艿娇缯灸_本攻擊,所有的不受信數(shù)據(jù)都必須要經(jīng)過(guò)過(guò)濾模塊才能被寫入數(shù)據(jù)庫(kù)或返回至客戶端瀏覽器。過(guò)濾模塊是指Web應(yīng)用程序中用來(lái)過(guò)濾或凈化用戶所輸入的數(shù)據(jù)以防止引起跨站腳本攻擊的函數(shù)或模塊。過(guò)濾模塊比較常用的方法[9]包括黑名單過(guò)濾,一般使用正則表達(dá)式進(jìn)行合法性校驗(yàn);另一種做法是只接收已知的合法數(shù)據(jù)(白名單過(guò)濾)或?qū)斎腴L(zhǎng)度與編碼進(jìn)行限制;最后一種方法是將特殊字符或標(biāo)簽轉(zhuǎn)成無(wú)害的。
因此,為了能夠充分測(cè)試過(guò)濾模塊是否有效,需要精心地構(gòu)造出盡可能全面且有效的測(cè)試向量來(lái)繞過(guò)各種驗(yàn)證函數(shù),從而挖掘出由于過(guò)濾模塊過(guò)濾不夠全面而造成的跨站腳本。測(cè)試向量包括攻擊向量、合法向量。傳統(tǒng)的檢測(cè)方法在攻擊過(guò)程中,對(duì)每個(gè)注入點(diǎn)的所有注入變量同時(shí)發(fā)送攻擊向量,但這會(huì)極大降低攻擊的成功率。本文模型提出在發(fā)送攻擊的過(guò)程中,每次攻擊僅對(duì)注入點(diǎn)的某個(gè)注入變量發(fā)送攻擊向量,而其他的注入變量使用合法向量。
針對(duì)Web應(yīng)用程序過(guò)濾模塊可能采取的過(guò)濾方式[10],表1列舉部分常見(jiàn)的過(guò)濾方式,可依此制定出能夠繞過(guò)過(guò)濾模塊的攻擊向量。
表1 Web應(yīng)用程序過(guò)濾方式
攻擊向量即指能夠執(zhí)行JavaScript代碼的惡意字符串(例如:),攻擊向量的類型多種多樣。通過(guò)分析許多著名安全工程師共同總結(jié)出的XSS Cheat Sheet(XSS過(guò)濾繞過(guò)備忘單)[11],本文在HTML4元素的基礎(chǔ)上,也引入了HTML5新標(biāo)簽、新屬性構(gòu)建了基本候選元素庫(kù)(見(jiàn)表2),并構(gòu)造出基于HTML5的攻擊向量(見(jiàn)表3),最后總結(jié)出初始攻擊向量種子庫(kù)(見(jiàn)表4)。初始攻擊向量種子庫(kù)是指所有尚未經(jīng)過(guò)格式變換的已知的可以用于跨站攻擊的XSS代碼集合,庫(kù)中的每一個(gè)XSS代碼都代表了一種XSS攻擊類型。
表2 基本候選元素庫(kù)
表3 基于HTML5的攻擊向量示例
表4 初始攻擊向量種子庫(kù)
如果在Web應(yīng)用的過(guò)濾模塊中,對(duì)某種編碼格式不支持的話,則可能通過(guò)編碼格式轉(zhuǎn)換的方式來(lái)繞過(guò)過(guò)濾[12-13]。在實(shí)際中,攻擊者會(huì)對(duì)攻擊向量做各種形式的變換來(lái)試圖規(guī)避過(guò)濾模塊對(duì)用戶輸入進(jìn)行的過(guò)濾和凈化。其中編碼變換有十六進(jìn)制編碼、八進(jìn)制編碼或UTF-8編碼等。在初始攻擊向量經(jīng)過(guò)變換規(guī)則(見(jiàn)表5)變形后,添加模糊前綴,得到最終的攻擊向量。針對(duì)不同的輸出點(diǎn)類型應(yīng)該選取相應(yīng)的攻擊向量種子(見(jiàn)表6),才能夠在該輸出點(diǎn)位置上觸發(fā)JavaScript代碼的執(zhí)行。最后,由于僅通過(guò)攻擊向量自動(dòng)生成算法構(gòu)造的攻擊向量并不能完全涵蓋所有的類型,因此本文模型另外構(gòu)建了攻擊向量靜態(tài)庫(kù)作為補(bǔ)充,使其覆蓋范圍更為全面。
表5 攻擊向量變換規(guī)則庫(kù)
表6 攻擊向量輸出點(diǎn)類型
傳統(tǒng)檢測(cè)方法沒(méi)有針對(duì)合法向量的選取與生成進(jìn)行詳細(xì)分析,但合法向量的選取也是至為重要的。若僅使用數(shù)字與字母組合隨機(jī)生成的字符串作為合法向量,極為可能無(wú)法繞過(guò)過(guò)濾模塊,導(dǎo)致注入失敗。因此,本文提出根據(jù)表單相關(guān)信息(即輸入點(diǎn)類型),構(gòu)造出相應(yīng)的合法向量。
例如:對(duì)于表單元素,通過(guò)有效信息可以判斷需要輸入的是郵箱地址,因此,自動(dòng)生成向量如:xSs_sCanner123@test.com等,對(duì)于,通過(guò)分析相關(guān)有效信息可以判斷需要輸入的是網(wǎng)址,可生成向量如:http://www.scanner1.com等。表7列舉部分表單元素相關(guān)信息,利用這些信息有助于生成更加準(zhǔn)確有效的合法向量。
表7 表單元素相關(guān)信息
本文模型總體結(jié)構(gòu)(如圖1所示)主要分為3個(gè)模塊,分別是注入點(diǎn)分析模塊、測(cè)試向量挖掘模塊、攻擊與分析模塊。各個(gè)模塊之間通過(guò)查詢與操作session對(duì)象或數(shù)據(jù)庫(kù)來(lái)完成相互協(xié)作。
圖1 本文模型總體結(jié)構(gòu)
完整、準(zhǔn)確、高效地挖掘出所有頁(yè)面及漏洞注入點(diǎn)是增強(qiáng)檢測(cè)能力、減少漏報(bào)誤報(bào)的關(guān)鍵問(wèn)題之一,注入點(diǎn)分析模塊(如圖2所示)在檢測(cè)中起著重要的作用。當(dāng)前,網(wǎng)頁(yè)提供給用戶輸入數(shù)據(jù)的方式各式各樣,而傳統(tǒng)檢測(cè)中爬蟲的功能較為單一(如文獻(xiàn)[14]),僅能夠提取出表單內(nèi)容,比較難解析基于JavaScript或Ajax的提交方式,對(duì)于需要登錄后才能夠訪問(wèn)的頁(yè)面無(wú)法獲取到。為了獲取更為全面的注入點(diǎn),將跨站腳本攻擊的注入點(diǎn)可大致分為3類:1)表單輸入類;2)含參數(shù)的url類;3)基于JavaScript或Ajax的數(shù)據(jù)提交方式。注入點(diǎn)分析模塊通過(guò)爬蟲爬取目標(biāo)站點(diǎn)的所有頁(yè)面,并分析頁(yè)面以獲取注入點(diǎn)及相關(guān)信息。本文采用多線程網(wǎng)絡(luò)爬蟲,在爬取過(guò)程中采取廣度優(yōu)先搜索策略,使用正則表達(dá)式匹配頁(yè)面中的url,過(guò)濾不屬于目標(biāo)站點(diǎn)的url,并將相對(duì)路徑的url轉(zhuǎn)成絕對(duì)路徑加入到待爬取隊(duì)列中,同時(shí)使用Bloom Filter算法[15]對(duì)url進(jìn)行去重。
圖2 注入點(diǎn)分析模塊結(jié)構(gòu)
在整個(gè)爬取過(guò)程中需要與Web服務(wù)器進(jìn)行多次交互,針對(duì)一些需要登錄后才能訪問(wèn)的頁(yè)面,需要保持會(huì)話狀態(tài),否則在訪問(wèn)頁(yè)面時(shí)Web應(yīng)用會(huì)拒絕訪問(wèn)或者頁(yè)面重定向。本文方法運(yùn)用cookie技術(shù)來(lái)解決這一問(wèn)題,預(yù)先輸入用戶登錄的相關(guān)信息(如賬號(hào)、密碼等)以獲取返回的cookie信息,并需要將退出登錄的鏈接從待爬取url集合中刪去,當(dāng)再次訪問(wèn)頁(yè)面時(shí),則將相應(yīng)的cookie信息添加到爬蟲的HTTP請(qǐng)求協(xié)議頭中,使其能夠在爬取過(guò)程中保持會(huì)話狀態(tài),以獲取更多頁(yè)面。
在爬取url的過(guò)程中,分析注入點(diǎn),將含參的url類與基于Ajax的數(shù)據(jù)提交類注入點(diǎn)使用表單類形式保存,統(tǒng)一注入點(diǎn)形式,同樣也需對(duì)注入點(diǎn)進(jìn)行去重處理。
由第1節(jié)提供的攻擊向量基本候選元素庫(kù),以及攻擊向量變換規(guī)則庫(kù),并添加模糊數(shù)據(jù),例如注釋、空白符、tab鍵等,且動(dòng)態(tài)生成模糊前綴,生成最終的攻擊向量(見(jiàn)表8)。
表8 最終的攻擊向量
并非所有用戶能夠輸入數(shù)據(jù)的地方都能夠?qū)е驴缯灸_本的產(chǎn)生。發(fā)生反射型和存儲(chǔ)型跨站腳本攻擊的必要條件是用戶輸入的數(shù)據(jù)能夠在某一個(gè)時(shí)刻被Web應(yīng)用程序調(diào)用且加載到Web頁(yè)面中。
傳統(tǒng)檢測(cè)方法將攻擊向量提交至漏洞注入點(diǎn),且對(duì)該注入點(diǎn)的所有注入變量同時(shí)使用攻擊向量進(jìn)行攻擊,在攻擊過(guò)程中判斷漏洞是否存在只需檢測(cè)響應(yīng)頁(yè)面中是否含有該攻擊向量,就能大致判斷漏洞是否存在。但這種檢測(cè)方法是不完善的,易造成漏報(bào)誤報(bào),因?yàn)楣粝蛄坎粌H可能出現(xiàn)在服務(wù)器響應(yīng)頁(yè)面中,還可能某一個(gè)時(shí)刻出現(xiàn)在其他任何頁(yè)面中,并且在同一頁(yè)面中也可能有若干個(gè)不同的輸出點(diǎn)類型(如圖3所示)。
圖3 輸入數(shù)據(jù)輸出終點(diǎn)的處理過(guò)程示意圖
在檢測(cè)效率方面,傳統(tǒng)檢測(cè)方法針對(duì)每個(gè)注入點(diǎn),將攻擊向量庫(kù)中的攻擊向量全部提交完成后才判斷漏洞是否存在,這樣會(huì)大大降低檢測(cè)效率。在現(xiàn)有動(dòng)態(tài)生成攻擊向量的方法中,對(duì)于攻擊向量的選取大多數(shù)采用隨機(jī)選取方法,其優(yōu)點(diǎn)在于簡(jiǎn)單快速,易于理解與實(shí)現(xiàn),但由于隨機(jī)選取方法中并沒(méi)有利用其他任何相關(guān)的信息,其檢測(cè)能力往往不是很理想。因此,如何使用較少的攻擊向量來(lái)盡快發(fā)現(xiàn)漏洞是尤為重要的。
為解決上述問(wèn)題,本文提出單次攻擊只對(duì)某一注入點(diǎn)的某一個(gè)注入變量在某一輸出點(diǎn)類型上進(jìn)行攻擊。首先,在檢測(cè)過(guò)程中根據(jù)注入變量的輸出點(diǎn)類型自動(dòng)生成攻擊向量,并隨著當(dāng)前時(shí)刻的檢測(cè)結(jié)果自適應(yīng)調(diào)整攻擊向量?jī)?yōu)先級(jí),優(yōu)先選取攻擊成功概率較高的攻擊向量類型,以盡可能早地發(fā)現(xiàn)漏洞,彌補(bǔ)隨機(jī)選取方法的不足。
為了對(duì)不同漏洞注入點(diǎn)注入的攻擊向量進(jìn)行區(qū)分,需要對(duì)每個(gè)注入點(diǎn)的某一個(gè)注入變量的攻擊向量分配一個(gè)唯一的標(biāo)識(shí)(即攻擊向量ID),同時(shí)其他的注入變量根據(jù)輸入點(diǎn)類型自動(dòng)選取相應(yīng)合法向量,向Web應(yīng)用服務(wù)器發(fā)送Get或Post請(qǐng)求。當(dāng)檢測(cè)到特殊字符如<,>等標(biāo)簽已經(jīng)被后臺(tái)實(shí)體化或過(guò)濾后,導(dǎo)致無(wú)法執(zhí)行腳本代碼,則停止對(duì)此注入點(diǎn)變量的攻擊。另外,將獲取到的輸出點(diǎn)類型攻擊完畢之后,若依舊沒(méi)有發(fā)現(xiàn)漏洞,則對(duì)每個(gè)注入變量都需要提交其他尚未選取的輸出點(diǎn)類型自動(dòng)選取對(duì)應(yīng)的攻擊向量進(jìn)行攻擊,避免在其他頁(yè)面中有不同輸出點(diǎn)類型中出現(xiàn),造成漏報(bào)。在判斷攻擊是否成功的過(guò)程中,將分析頁(yè)面范圍擴(kuò)大至注入點(diǎn)展示頁(yè)面、請(qǐng)求頁(yè)面以及服務(wù)器響應(yīng)頁(yè)面,判斷漏洞存在當(dāng)且僅當(dāng)攻擊向量類型與輸出點(diǎn)類型相符合,并且攻擊向量ID與注入點(diǎn)變量相匹配,能夠觸發(fā)腳本代碼,才判定漏洞存在,這樣可以降低誤報(bào)率。
當(dāng)所有注入點(diǎn)被攻擊完成后,對(duì)整個(gè)網(wǎng)站進(jìn)行二次遍歷,檢測(cè)尚未被驗(yàn)證的注入變量。如圖3所示,用戶輸入的數(shù)據(jù)可能在任何頁(yè)面的任何輸出點(diǎn)位置上,且每個(gè)輸出點(diǎn)位置可能是不同的輸出點(diǎn)類型,因此,僅僅在攻擊過(guò)程中同時(shí)根據(jù)反饋信息來(lái)判斷漏洞是否存在會(huì)造成漏報(bào)問(wèn)題,二次遍歷對(duì)Web應(yīng)用的原有頁(yè)面與新頁(yè)面進(jìn)行重新遍歷搜索,查找所有尚未得到驗(yàn)證的攻擊向量,一旦確認(rèn)查找到的攻擊向量與相應(yīng)的輸出點(diǎn)類型匹配,則判斷該攻擊向量對(duì)應(yīng)的注入點(diǎn)變量是存在跨站腳本漏洞的,并將該注入點(diǎn)變量對(duì)應(yīng)的所有攻擊向量移除,然后繼續(xù)匹配直到待查找的攻擊向量為空或者所有頁(yè)面已遍歷完畢,則整個(gè)檢測(cè)過(guò)程結(jié)束。
假設(shè)I指注入點(diǎn)集合,其中,Ii指第i個(gè)注入點(diǎn),Iij指Ii的第j個(gè)注入變量,i∈{1,2,…,n}(n是注入點(diǎn)總數(shù)),j={1,2,…,m}(m是Ii的注入變量總數(shù)),P指輸出點(diǎn)類型集合,Pk指Iij的第k個(gè)輸出點(diǎn)位置,k∈{1,2,…,s}(s是Iij的輸出點(diǎn)類型總數(shù)),q指對(duì)Iij在Pk上的攻擊次數(shù),Ht指對(duì)Iij在位置Pk發(fā)送的第t次http請(qǐng)求,t∈{1,2,…,q},U指url集合,V指具有Iij標(biāo)識(shí)的攻擊向量,Vlist指待檢測(cè)的攻擊向量列表。
輸入注入點(diǎn)集合I,url集合U
輸出發(fā)現(xiàn)的跨站腳本漏洞
具體檢測(cè)算法描述如下:
1)若i 2)若j 3)若k 4)若t 5)檢測(cè)相關(guān)反饋?lái)?yè)面中出現(xiàn)的V所在輸出點(diǎn)類型是否與攻擊向量V相符合,若是,則判定Iij存在漏洞,更新V的優(yōu)先級(jí),并從Vlist中移除與Iij相關(guān)的V,停止攻擊Iij,重復(fù)第4個(gè)步驟。 6)檢測(cè)相關(guān)反饋?lái)?yè)面中出現(xiàn)的V所在輸出點(diǎn)類型,更新Iij的輸出點(diǎn)類型集合P。 7)檢測(cè)相關(guān)反饋?lái)?yè)面中出現(xiàn)的url,更新集合U。 8)檢測(cè)相關(guān)反饋?lái)?yè)面中是否存在被實(shí)體化后的攻擊向量,若是,且在Pk不符合觸發(fā)腳本執(zhí)行條件,判定此輸出點(diǎn)類型不存在漏洞,并結(jié)束對(duì)Iij在Pk的攻擊,重復(fù)第3個(gè)步驟;若否,重復(fù)第4個(gè)步驟。 9)遍歷U中所有的url,匹配Vlist中的V,若輸出點(diǎn)類型與V的類型相符合,則判定存在漏洞,并從Vlist中刪除與Iij相關(guān)的V。當(dāng)U遍歷完畢或Vlist為空時(shí),則檢測(cè)結(jié)束并輸出結(jié)果。 依據(jù)本文提出的檢測(cè)方法,設(shè)計(jì)并實(shí)現(xiàn)了一款自動(dòng)化跨站腳本發(fā)現(xiàn)模型WXS,模型使用PHP作為服務(wù)器端腳本語(yǔ)言,具有易于進(jìn)行維護(hù)和二次開(kāi)發(fā)的特點(diǎn)。檢測(cè)流程簡(jiǎn)單、實(shí)用性強(qiáng)、自動(dòng)化程度高。為了驗(yàn)證模型的有效性,同時(shí)使用著名商業(yè)工具WVS(Web Vulnerability Scanner)與APPScan對(duì)2個(gè)測(cè)試站點(diǎn)進(jìn)行掃描測(cè)試。其中,站點(diǎn)1是自行搭建的個(gè)人博客站點(diǎn),該網(wǎng)站使用PHP語(yǔ)言開(kāi)發(fā),使用MySQL數(shù)據(jù)庫(kù),站點(diǎn)2是某論壇網(wǎng)站,采用.NET框架,提供用戶留言評(píng)論等功能。檢測(cè)結(jié)果如表9和表10所示,表11為檢測(cè)耗時(shí)比較。 表9 站點(diǎn)1檢測(cè)結(jié)果 表10 站點(diǎn)2檢測(cè)結(jié)果 表11 檢測(cè)耗時(shí)比較 為了更好地體現(xiàn)出模型WXS的有效性,需要在真實(shí)環(huán)境下做測(cè)試。據(jù)XSSed官方(XSS漏洞公布平臺(tái))截止到目前不完全數(shù)據(jù)顯示,現(xiàn)收集有45 884個(gè)XSS漏洞,已修復(fù)3 026個(gè)漏洞。本文實(shí)驗(yàn)從XSSed平臺(tái)中分別收集已修復(fù)和尚未修復(fù)的漏洞各50例作為測(cè)試樣本,分別使用上述3種模型對(duì)其進(jìn)行檢測(cè),檢測(cè)結(jié)果如表12所示。 表12 XSSed平臺(tái)收集的測(cè)試樣本檢測(cè)結(jié)果 實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的模型WXS與其他工具相比較,能夠檢測(cè)出更多頁(yè)面和注入點(diǎn),挖掘出漏洞數(shù)量較多,并且誤報(bào)數(shù)少。APPScan沒(méi)有針對(duì)Ajax提交數(shù)據(jù)的注入點(diǎn)類進(jìn)行分析與研究,不能檢測(cè)出此類注入點(diǎn)。WVS與APPScan沒(méi)有進(jìn)行二次遍歷掃描,并且缺乏對(duì)合法向量進(jìn)行挖掘,容易被后臺(tái)過(guò)濾模塊過(guò)濾,存在漏報(bào)問(wèn)題。在耗時(shí)方面,WXS發(fā)送的http請(qǐng)求次數(shù)(攻擊次數(shù))少于WVS與APPScan,說(shuō)明在攻擊向量與合法向量的選取上有較強(qiáng)的能力。 本文在分析跨站腳本攻擊原理的基礎(chǔ)上,提出一種動(dòng)態(tài)檢測(cè)反射型與存儲(chǔ)型跨站腳本方法,設(shè)計(jì)并實(shí)現(xiàn)了一款自動(dòng)化檢測(cè)模型。該模型與同類檢測(cè)工具相比,能夠降低誤報(bào)率和漏報(bào)率,從而更加有效地發(fā)現(xiàn)Web應(yīng)用中的跨站腳本漏洞。下一步將針對(duì)Dom-based XSS進(jìn)行分析與研究,使所提模型能夠檢測(cè)出該類型的跨站腳本漏洞。3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)束語(yǔ)