欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于模擬瀏覽器行為的xss漏洞檢測(cè)系統(tǒng)的制作方法_2

文檔序號(hào):8905416閱讀:來源:國(guó)知局
川算法2.頁(yè)面D0M元素展開算法 [0042] 輸入;第一次請(qǐng)求得到的頁(yè)面HTML代碼
[004引輸出;展開后的頁(yè)面HTML代碼
[0044]1.獲取所有含有事件的標(biāo)簽存入tag_liSt,去除重復(fù)的標(biāo)簽;
[0045] 2.模擬點(diǎn)擊tag_list中下一個(gè)未訪問過的標(biāo)簽;
[0046] 3.將該標(biāo)簽存入visit□,標(biāo)記為訪問過;
[0047] 4.若頁(yè)面跳轉(zhuǎn),執(zhí)行步驟5 ;否則,執(zhí)行步驟6 ;
[0048] 5.將跳轉(zhuǎn)后的頁(yè)面U化存入U(xiǎn)RL_List,執(zhí)行步驟2 ;
[0049] 如果D0M元素改變,執(zhí)行步驟1 ;
[0050] 通過該種方式,可朗尋網(wǎng)頁(yè)不斷展開,W達(dá)到尋找隱藏式注入點(diǎn)的目的。
[005。 似添加U化
[005引 U化超鏈接一般存在于<a>標(biāo)簽的虹ef屬性中,對(duì)于HTML中的<a>標(biāo)簽,其虹ef 屬性的值可W是任何有效文檔的相對(duì)或絕對(duì)U化,包括片段標(biāo)識(shí)符和化vaScript代碼段。 一般用戶點(diǎn)擊<a>標(biāo)簽中的內(nèi)容時(shí),瀏覽器除了會(huì)跳轉(zhuǎn)到虹ef屬性指定的U化,也可能會(huì)執(zhí) 行化vaScript表達(dá)式、方法和函數(shù)的列表。
[0053] 傳統(tǒng)的網(wǎng)絡(luò)爬蟲僅采用正則表達(dá)式匹配一般U化的形式,該樣很可能會(huì)漏掉頁(yè)面 和注入點(diǎn),所W本系統(tǒng)借助帶有瀏覽器引擎的化ost.py庫(kù),對(duì)虹ef的值進(jìn)行多種處理,如 圖2所示。標(biāo)準(zhǔn)化函數(shù)針對(duì)不同情況進(jìn)行字符串處理,將其轉(zhuǎn)換成一般U化的形式。若轉(zhuǎn) 換后的U化不在列表中,將存儲(chǔ)至U化列表W用于之后的頁(yè)面挖掘。
[0054] 1. 2漏洞檢測(cè)模塊
[0055] (1)漏洞檢測(cè)
[0056] 本系統(tǒng)采用黑盒測(cè)試方法來檢測(cè)目標(biāo)表單是否存在XSS漏洞。漏洞檢測(cè)的基本方 法是使用RSnake提供的化eatSheet作為攻擊向量來填寫表單并提交。該化eat化eet 包括多種可W繞過XSS檢驗(yàn)的攻擊向量,如圖2所示。
[0057] 該些經(jīng)過設(shè)計(jì)的攻擊向量提交后,如果存在漏洞,則頁(yè)面會(huì)執(zhí)行一個(gè)彈出提醒框 的腳本,其內(nèi)容為XSS,此時(shí)通過化ost.py提供的wait_for_aledG檢測(cè)是否有提醒框出 現(xiàn),即檢測(cè)網(wǎng)頁(yè)是否執(zhí)行了腳本,直接判斷出當(dāng)前注入點(diǎn)是否有漏洞。使用此方法時(shí),如果 彈出了對(duì)話框,且對(duì)話框中含有污點(diǎn)數(shù)據(jù),則當(dāng)前表單一定存在XSS漏洞。漏洞檢測(cè)的執(zhí)行 過程如圖3所示。
[0058] (2)查找表單及其注入點(diǎn)
[0059] 如果要提交某一個(gè)表單,需要標(biāo)記該表單在D0M樹中的位置,之后使用CSS屬性選 擇器找到它,首先尋找HTML文檔中的所有表單并存于數(shù)組,標(biāo)記為化rm[0]、化rm[ 1 ],之后 找到化1'111[0]中;[噸111:[0],化1'111[1]中的;[噸111:[1]、;[噸111:[2],將其]131116屬性存于二維數(shù) 組中,由于name屬性是提交請(qǐng)求時(shí)唯一需要的屬性,所W其它屬性不用保存。
[0060] (3)自動(dòng)填寫并提交表單
[0061] 本文使用化ost.py提供的填寫表單的函數(shù)在表單欄填寫XSS攻擊向量:
[0062] ghost.set_field_value("input[name= %S]"%name,XSS)
[0063] 此外,化ost.py還可W模擬JavaScript語(yǔ)句來提交表單;
[0064] 曲ost.evaluate(
[0065] "document.querySelectorAll(,form,)[ %d] [,submit,] 0 %form- i),expect-loading=True)
[0066] 表單有可能存在限制輸入長(zhǎng)度,不允許一些非法字符等前端驗(yàn)證,導(dǎo)致攻擊向量 不能提交。該些驗(yàn)證事件存在于表單的屬性中,需要模擬化vaScript語(yǔ)句將該些屬性移 除。
[0067] document.querySelectorAll('input[type=submit]')[0]. removeAttribute('onclick');
[0068] document.querySelectorAll('input[type=submit]')[0]. removeAttributeConfocus');
[0069] 之后對(duì)表單操作的具體步驟如算法3描述:
[0070] 算法3.自動(dòng)填充攻擊向量提交
[0071] 輸入;存儲(chǔ)表單及其注入點(diǎn)的二維數(shù)組 [007引輸出;漏洞檢測(cè)結(jié)果
[007引 1.遍歷保存全部XSS攻擊向量的xss_rsnake數(shù)組;
[0074] 2.對(duì)于表單中的每一個(gè)用戶輸入出,用當(dāng)前攻擊向量填充;
[00巧]3.提交表單;
[0076] 4.根據(jù)漏洞檢測(cè)方法判斷是否存在XSS漏洞,如果存在則執(zhí)行步驟5,;否則執(zhí)行 步驟1 ;
[0077] 5.存儲(chǔ)漏洞在D0M中的位置、當(dāng)前頁(yè)面U化及其它信息;
[007引 6.結(jié)束;
[0079] 表1 一些經(jīng)過設(shè)計(jì)的攻擊向量
[0080]
【主權(quán)項(xiàng)】
1. 一種基于模擬瀏覽器行為的XSS漏洞檢測(cè)系統(tǒng),其特征在于:本系統(tǒng)完全由python 語(yǔ)言在Windows 64位系統(tǒng)上編寫,在Windows 64位系統(tǒng)上正常運(yùn)行;同時(shí),本系統(tǒng)具有較 強(qiáng)的通用型且支持其它操作系統(tǒng); 本系統(tǒng)總體設(shè)計(jì)包括爬蟲模塊、漏洞檢測(cè)模塊兩大模塊;這兩大模塊又包含了若干子 模塊以實(shí)現(xiàn)核心功能,其中: (1) 爬蟲模塊包含頁(yè)面探索模塊和網(wǎng)頁(yè)解析模塊兩個(gè)子模塊,兩個(gè)子模塊共同使用 Ghost, py作為瀏覽器引擎,共享URL列表并對(duì)其進(jìn)行操作;頁(yè)面探索模塊實(shí)現(xiàn)探索頁(yè)面對(duì) 功能,而網(wǎng)頁(yè)解析模塊則實(shí)現(xiàn)網(wǎng)頁(yè)解析功能;頁(yè)面探索模塊使用遞歸的深度優(yōu)先爬蟲,不斷 地循環(huán)抓取網(wǎng)頁(yè)存入U(xiǎn)RL隊(duì)列,直到將同域名下的頁(yè)面全部訪問完成,從而獲取大量的頁(yè) 面以尋找注入點(diǎn);網(wǎng)頁(yè)解析模塊從URL隊(duì)列中提取出頁(yè)面的URL鏈接,將頁(yè)面動(dòng)態(tài)加載完, 并觸發(fā)頁(yè)面中的事件以獲取JavaSricpt或Ajax生成的新的URL和注入點(diǎn);其中,新的URL 也會(huì)存入U(xiǎn)RL隊(duì)列,等待頁(yè)面探索模塊的訪問; 網(wǎng)頁(yè)解析模塊實(shí)現(xiàn)功能的步驟包括, 1) 事件的搜集,尋找網(wǎng)頁(yè)中可能解析JavaScript和加載Ajax的點(diǎn)擊事件并觸發(fā); 2. URL搜集,將新的URL放入待訪問的URL列表用于探索頁(yè)面; 3) 注入點(diǎn)搜集,用于之后的漏洞檢測(cè); (2) 漏洞檢測(cè)模塊:該模塊包含自動(dòng)檢測(cè)模塊和漏洞判斷模塊兩個(gè)子模塊,兩個(gè)子模 塊共同使用Ghost, py作為瀏覽器引擎,自動(dòng)檢測(cè)模塊對(duì)注入點(diǎn)自動(dòng)填充攻擊向量,采用的 攻擊向量為RSnake提供的Cheat Sheet,它包括多種繞過XSS檢驗(yàn)的攻擊向量;這些經(jīng)過設(shè) 計(jì)的攻擊向量提交后,執(zhí)行結(jié)果交由漏洞判斷模塊來判斷,如果存在漏洞的話,頁(yè)面會(huì)執(zhí)行 一個(gè)彈出提醒框的腳本,其內(nèi)容為XSS,此時(shí)基于Ghost, py引擎提供的wait_for_alert() 函數(shù)檢測(cè)是否有提醒框出現(xiàn),即可檢測(cè)網(wǎng)頁(yè)是否執(zhí)行了腳本,直接判斷出當(dāng)前注入點(diǎn)是否 有漏洞。2. 根據(jù)權(quán)利要求1所述的一種基于模擬瀏覽器行為的XSS漏洞檢測(cè)系統(tǒng),其特征在 于:在探索頁(yè)面前,還需要進(jìn)行網(wǎng)頁(yè)解析,將頁(yè)面動(dòng)態(tài)加載完,并觸發(fā)頁(yè)面中的事件以獲取 JavaSricpt或Ajax生成的新的URL和注入點(diǎn);其中的加載頁(yè)面由Ghost, py提供的API完 成。3. 根據(jù)權(quán)利要求1所述的一種基于模擬瀏覽器行為的XSS漏洞檢測(cè)系統(tǒng),其特征在 于:本系統(tǒng)使用Python的Beautiful Soup庫(kù)來完成網(wǎng)頁(yè)解析;Beautiful Soup是一個(gè)用 Python寫的HTML/XML的解析器,用以處理不規(guī)范標(biāo)記并生成剖析樹,并且提供簡(jiǎn)單又常用 的導(dǎo)航,搜索以及修改剖析樹的操作。
【專利摘要】一種基于模擬瀏覽器行為的XSS漏洞動(dòng)態(tài)檢測(cè)系統(tǒng)。該系統(tǒng)由爬蟲模塊和漏洞檢測(cè)模塊組成。爬蟲模塊含有瀏覽器的內(nèi)核,可以模擬瀏覽器行為來解析JavaScript和加載Ajax以得到頁(yè)面中隱藏式注入點(diǎn),相比傳統(tǒng)而言,該系統(tǒng)大大增加了對(duì)注入點(diǎn)的覆蓋。漏洞檢測(cè)模塊使用黑盒測(cè)試的方法,在提交攻擊向量后,通過模擬瀏覽器行為檢測(cè)頁(yè)面是否有異常情況出現(xiàn),即能夠檢測(cè)瀏覽器是否執(zhí)行了網(wǎng)頁(yè)腳本,直接判斷出當(dāng)前注入點(diǎn)是否有漏洞,相比傳統(tǒng)方法更加準(zhǔn)確。此外,該系統(tǒng)完全采用python語(yǔ)言開發(fā),具有易于維護(hù)和進(jìn)行二次開發(fā)的特點(diǎn),對(duì)XSS漏洞的檢測(cè)與研究有非常重要的應(yīng)用價(jià)值。
【IPC分類】G06F21/57
【公開號(hào)】CN104881607
【申請(qǐng)?zhí)枴緾N201510262307
【發(fā)明人】王丹, 劉源, 趙文兵, 杜金蓮, 蘇航
【申請(qǐng)人】北京工業(yè)大學(xué)
【公開日】2015年9月2日
【申請(qǐng)日】2015年5月21日
當(dāng)前第2頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
门源| 社旗县| 长葛市| 喜德县| 新邵县| 敦化市| 新巴尔虎左旗| 延寿县| 临猗县| 蒙自县| 泗水县| 论坛| 普安县| 资源县| 平山县| 桂阳县| 五原县| 吴忠市| 大荔县| 武定县| 扎赉特旗| 福清市| 四平市| 淅川县| 雅江县| 苍山县| 丽水市| 加查县| 左云县| 文登市| 沐川县| 黄陵县| 炉霍县| 陇南市| 景东| 房山区| 石门县| 富蕴县| 铜鼓县| 武威市| 长汀县|