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

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

文檔序號(hào):8905416閱讀:1054來源:國知局
一種基于模擬瀏覽器行為的xss漏洞檢測系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明設(shè)及一種基于模擬瀏覽器行為的XSS漏洞檢測系統(tǒng),屬于計(jì)算機(jī)軟件跨站 腳本漏洞領(lǐng)域。
【背景技術(shù)】
[0002] 近年來,隨著Web應(yīng)用的廣泛使用,Web安全問題也日益突出。0WASP公布的2013 年十大Web應(yīng)用安全風(fēng)險(xiǎn)中,跨站腳本漏洞XSSKrossSiteScripting)名列第S,該表明 XSS漏洞已成為當(dāng)前各類網(wǎng)站需共同面對(duì)的常見的安全風(fēng)險(xiǎn)之一。
[0003]XSS漏洞的產(chǎn)生是由于來自用戶的不可信數(shù)據(jù)被應(yīng)用程序在沒有進(jìn)行驗(yàn)證,W及 反射回瀏覽器而沒有進(jìn)行編碼或轉(zhuǎn)義的情況下進(jìn)行了處理,導(dǎo)致瀏覽器引擎執(zhí)行了代碼 時(shí)。很多網(wǎng)站在開發(fā)過程中忽略了必要的輸入驗(yàn)證,缺乏足夠的安全性,該樣的網(wǎng)站就很容 易被跨站腳本攻擊。通常攻擊者會(huì)將惡意腳本提交到存在XSS漏洞的Web頁面,當(dāng)客戶端 用戶瀏覽該頁面時(shí),腳本會(huì)被瀏覽器自動(dòng)解析執(zhí)行,達(dá)到掛馬、釣魚、盜取用戶Cookie、劫持 用戶Web行為等目的,因此,對(duì)XSS漏洞的檢測是非常必要的。
[0004] -般地,Web頁面中可能存在XSS漏洞的地方稱為注入點(diǎn)。如何在大量頁面中找到 潛在的注入點(diǎn)并進(jìn)行檢測是防范XSS漏洞的關(guān)鍵之一,同時(shí)也是一項(xiàng)繁雜的工作。在網(wǎng)站 內(nèi)容日益豐富的今天,人工檢測注入點(diǎn)顯然是不現(xiàn)實(shí)的,而需要盡可能采用自動(dòng)化方法。網(wǎng) 絡(luò)爬蟲對(duì)于基于網(wǎng)絡(luò)的自動(dòng)化測試工具是重要的基礎(chǔ)功能,它可W從一個(gè)起始U化開始, 通過分析網(wǎng)頁的內(nèi)容,運(yùn)用相關(guān)算法找到新的U化并不斷地循環(huán)抓取網(wǎng)頁,直到滿足一定 的結(jié)束條件,從而獲取大量的頁面W尋找注入點(diǎn)。找到注入點(diǎn)后,測試工具再構(gòu)造攻擊測試 請(qǐng)求發(fā)送給目標(biāo)站點(diǎn),并根據(jù)目標(biāo)站點(diǎn)的回應(yīng)信息來判斷是否存在漏洞。
[0005] 目前針對(duì)自動(dòng)化XSS漏洞檢測工具的研究還不是很充足,傳統(tǒng)的方法均是W靜態(tài) 爬蟲爬取頁面,通過獲取目標(biāo)站點(diǎn)的目錄結(jié)構(gòu)、對(duì)各個(gè)頁面的源碼進(jìn)行解析,將其中的表單 信息提取出來,W達(dá)到尋找注入點(diǎn)的目的。然而,注入點(diǎn)很可能隱藏在網(wǎng)頁的動(dòng)態(tài)內(nèi)容中, 需要通過用戶操作,如點(diǎn)擊某個(gè)按鈕,使瀏覽器解析化vaScript或加載Ajax才能生成。傳 統(tǒng)爬蟲由于無法模擬瀏覽器行為,很難解析化vaScript或加載Ajax,從而忽略了隱藏式注 入點(diǎn)。同時(shí)在頁面解析時(shí),它們還需要提取整個(gè)表單內(nèi)容,獲取表單的屬性W分析向服務(wù)器 提交數(shù)據(jù)的方式才能提交攻擊向量,比較復(fù)雜,并且在漏洞檢測方面不能動(dòng)態(tài)地分析目標(biāo) 站點(diǎn)的回應(yīng)信息,因此未必能判斷出XSS漏洞是否存在。

【發(fā)明內(nèi)容】

[0006]本發(fā)明采用動(dòng)態(tài)分析,通過檢查Web應(yīng)用程序運(yùn)行時(shí)的行為來檢測XSS漏洞,設(shè)計(jì) 并實(shí)現(xiàn)了W化ost.py庫為基礎(chǔ)的爬蟲框架。該系統(tǒng)框架使用黑盒測試判斷XSS漏洞是否 存在的準(zhǔn)確率更高。
[0007] 為達(dá)到W上發(fā)明目的,本發(fā)明采用的技術(shù)方案為一種基于模擬瀏覽器行為的XSS 漏洞檢測系統(tǒng),本系統(tǒng)完全由python語言在Windows64位系統(tǒng)上編寫,在Windows64位 系統(tǒng)上正常運(yùn)行。同時(shí),本系統(tǒng)具有較強(qiáng)的通用型且支持其它操作系統(tǒng)。
[0008] 本系統(tǒng)總體設(shè)計(jì)包括爬蟲模塊、漏洞檢測模塊兩大模塊;該兩大模塊又包含了若 干子模塊W實(shí)現(xiàn)核屯、功能,其中:
[0009] (1)爬蟲模塊包含頁面探索模塊和網(wǎng)頁解析模塊兩個(gè)子模塊,兩個(gè)子模塊共同使 用化ost.py作為瀏覽器引擎,共享U化列表并對(duì)其進(jìn)行操作。頁面探索模塊實(shí)現(xiàn)探索頁面 對(duì)功能,而網(wǎng)頁解析模塊則實(shí)現(xiàn)網(wǎng)頁解析功能。頁面探索模塊使用遞歸的深度優(yōu)先爬蟲,不 斷地循環(huán)抓取網(wǎng)頁存入U(xiǎn)化隊(duì)列,直到將同域名下的頁面全部訪問完成,從而獲取大量的 頁面W尋找注入點(diǎn);網(wǎng)頁解析模塊從URL隊(duì)列中提取出頁面的URL鏈接,將頁面動(dòng)態(tài)加載 完,并觸發(fā)頁面中的事件W獲取化vaSricpt或Ajax生成的新的U化和注入點(diǎn)。其中,新的 U化也會(huì)存入U(xiǎn)化隊(duì)列,等待頁面探索模塊的訪問。
[0010] 網(wǎng)頁解析模塊實(shí)現(xiàn)功能的步驟包括,
[0011] 1)事件的捜集,尋找網(wǎng)頁中可能解析化vaScript和加載Ajax的點(diǎn)擊事件并觸 發(fā);
[0012] 2)U化捜集,將新的U化放入待訪問的U化列表用于探索頁面;
[001引如注入點(diǎn)捜集,用于之后的漏洞檢測。
[0014] (2)漏洞檢測模塊:該模塊包含自動(dòng)檢測模塊和漏洞判斷模塊兩個(gè)子模塊,兩個(gè) 子模塊共同使用化ost.py作為瀏覽器引擎,自動(dòng)檢測模塊對(duì)注入點(diǎn)自動(dòng)填充攻擊向量,采 用的攻擊向量為RSnake提供的化eat化eet,它包括多種繞過XSS檢驗(yàn)的攻擊向量。該些 經(jīng)過設(shè)計(jì)的攻擊向量提交后,執(zhí)行結(jié)果交由漏洞判斷模塊來判斷,如果存在漏洞的話,頁面 會(huì)執(zhí)行一個(gè)彈出提醒框的腳本,其內(nèi)容為XSS,此時(shí)基于化ost.py引擎提供的wait_for_ aledO函數(shù)檢測是否有提醒框出現(xiàn),即可檢測網(wǎng)頁是否執(zhí)行了腳本,直接判斷出當(dāng)前注入 點(diǎn)是否有漏洞。
[0015] 在探索頁面前,還需要進(jìn)行網(wǎng)頁解析,將頁面動(dòng)態(tài)加載完,并觸發(fā)頁面中的事件W 獲取化vaSricpt或Ajax生成的新的U化和注入點(diǎn)。其中的加載頁面由化ost.py提供的 API完成,
[0016] 本系統(tǒng)使用Python的BeautifulSoup庫來完成網(wǎng)頁解析。BeautifulSoup是一 個(gè)用Python寫的HTML/XML的解析器,用W處理不規(guī)范標(biāo)記并生成剖析樹,并且提供簡單又 常用的導(dǎo)航,捜索W及修改剖析樹的操作。
[0017] 綜上所述,為了更好地進(jìn)行自動(dòng)化檢測,本系統(tǒng)實(shí)現(xiàn)了W下兩個(gè)方面的功能;①能 夠解析化vaScript和加載AjaxW得到頁面中隱藏式注入點(diǎn)的支持網(wǎng)絡(luò)爬蟲運(yùn)行的框架。 ②通過提交攻擊向量W判斷XSS漏洞是否存在的高效方法。
[0018] 該核屯、庫包括re,pywebfuzz,曲ost,bs4,pySide,pyQt,該些庫在所有主流的操 作系統(tǒng)上運(yùn)行,因此很好的實(shí)現(xiàn)跨平臺(tái)移植。
[0019] 該系統(tǒng)完全采用python語言開發(fā),具有易于維護(hù)和進(jìn)行二次開發(fā)的特點(diǎn),對(duì)XSS 漏洞的檢測與研究有非常重要的應(yīng)用價(jià)值。
【附圖說明】
[0020] 圖1系統(tǒng)總體架構(gòu)(按模塊)。
[0021] 圖2U化處理模型設(shè)計(jì)。
[0022] 圖3漏洞檢測流程設(shè)計(jì)。
【具體實(shí)施方式】
[0023] 本系統(tǒng)的原理是基于化ost.py的對(duì)服務(wù)器的黑盒測試,它由爬蟲模塊和漏洞檢 測模塊兩個(gè)部分組成。系統(tǒng)架構(gòu)如圖1所示。
[0024] 1. 1爬蟲模塊
[0025] 爬蟲模塊實(shí)現(xiàn)探索頁面功能和網(wǎng)頁解析功能。探索頁面的爬蟲使用本文提出的遞 歸的深度優(yōu)先算法,僅挖掘同域名下的頁面。該算法描述如算法1所示。
[0026] 算法1.頁面探索的深度優(yōu)先遞歸算法
[0027] 輸入;起始網(wǎng)站U化
[002引輸出;W輸入U(xiǎn)化為起點(diǎn)爬取到的所有同域名頁面U化
[0029] 1.設(shè)置最大深度MAX_DEPTH;
[0030] 2.設(shè)置當(dāng)前深度depth=0;
[003。 3.如果當(dāng)前深度大于最大深度,結(jié)束;否則,執(zhí)行步驟4 ;
[00礎(chǔ) 4.訪問當(dāng)前U化;
[0033] 5.獲取頁面所有U化存入U(xiǎn)RL_List;
[0034] 6.如果URL_List為空,結(jié)束;否則執(zhí)行步驟7;
[003引將URL_List中下一個(gè)U化作為當(dāng)前URL當(dāng)前深度加1,執(zhí)行步驟3 ;
[0036] 在探索頁面前,還需要進(jìn)行網(wǎng)頁解析,將頁面動(dòng)態(tài)加載完,并觸發(fā)頁面中的事件W 獲取化vaSricpt或Ajax生成的新的U化和注入點(diǎn)。其中的加載頁面由化ost. py提供的 API完成,
[0037] 網(wǎng)頁解析主要完成S個(gè)功能,一是事件捜集,尋找網(wǎng)頁中可能解析JavaScript和 加載Ajax的點(diǎn)擊事件并觸發(fā);二是U化捜集,將新的U化放入待訪問的U化列表用于探索 頁面;=是注入點(diǎn)捜集,用于之后的漏洞檢測。
[0038] 本系統(tǒng)使用Python的Beautiful Soup庫來完成網(wǎng)頁解析。Beautiful Soup是一 個(gè)用Python寫的HTML/XML的解析器,它可W很好的處理不規(guī)范標(biāo)記并生成剖析樹,并且提 供簡單又常用的導(dǎo)航,捜索W及修改剖析樹的操作。
[00測(1)觸發(fā)事件
[0040] 觸發(fā)事件時(shí),使用Beauti化1 Soup庫捜索帶有事件屬性的標(biāo)簽,之后用化ost. py模擬用戶點(diǎn)擊觸發(fā)事件。對(duì)事件進(jìn)行點(diǎn)擊后可能使瀏覽器解析化vaScript和加載Ajax,產(chǎn) 生D0M元素的改變或者U化的跳轉(zhuǎn),對(duì)此采取不同的方式應(yīng)對(duì)。如果跳轉(zhuǎn)到新的U化,存儲(chǔ) 當(dāng)前冊(cè)L并返回之前頁面即可,而產(chǎn)生D0M元素則需再次尋找是否出現(xiàn)了新的事件,直至不 再產(chǎn)生D0M元素為止,步驟如算法2描述:
[00
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
澜沧| 勐海县| 广德县| 延边| 三河市| 柘荣县| 绥宁县| 封丘县| 聊城市| 蒙阴县| 新营市| 磐石市| 湘潭市| 佛坪县| 长治县| 锡林郭勒盟| 循化| 丁青县| 同江市| 商城县| 通许县| 阳泉市| 伊吾县| 新乡市| 彭泽县| 新丰县| 武定县| 高淳县| 玛纳斯县| 惠州市| 宜兴市| 郎溪县| 宜兰县| 广饶县| 合作市| 平阴县| 防城港市| 莒南县| 奈曼旗| 宜兴市| 通山县|