本發(fā)明是關(guān)于網(wǎng)站漏洞檢測(cè)領(lǐng)域,特別涉及一種基于沙箱的漏洞驗(yàn)證系統(tǒng)。
背景技術(shù):
網(wǎng)站的安全是如今Internet高速發(fā)展之后越來(lái)越被人們重視的一個(gè)領(lǐng)域。如今的網(wǎng)站漏洞掃描只記錄下了構(gòu)造的Request以及所對(duì)應(yīng)的漏洞。這對(duì)網(wǎng)站創(chuàng)建人員后期彌補(bǔ)BUG非常的不友好,并且,對(duì)特定的攻擊URL做一次訪問(wèn)驗(yàn)證會(huì)導(dǎo)致訪問(wèn)者遭受頁(yè)面掛馬攻擊,以及服務(wù)器遭受二次攻擊。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種用來(lái)記錄測(cè)試環(huán)境,能用特定瀏覽器打開(kāi)所請(qǐng)求的HTTPResponse,并切斷頁(yè)面中主動(dòng)發(fā)包的請(qǐng)求,以達(dá)到對(duì)驗(yàn)證漏洞的客戶端保護(hù)的系統(tǒng)。為解決上述技術(shù)問(wèn)題,本發(fā)明的解決方案是:
提供一種基于沙箱的漏洞驗(yàn)證系統(tǒng),用于對(duì)網(wǎng)站的漏洞進(jìn)行復(fù)現(xiàn),所述基于沙箱的漏洞驗(yàn)證系統(tǒng)包括網(wǎng)絡(luò)通信模塊、漏洞驗(yàn)證模塊、響應(yīng)存儲(chǔ)模塊、瀏覽器內(nèi)核模塊;
所述網(wǎng)絡(luò)通信模塊能處理http請(qǐng)求,并(使用HTTP協(xié)議)發(fā)送HTTPRequest,獲取到網(wǎng)頁(yè)的HTTPResponse;
所述漏洞驗(yàn)證模塊能給需要檢測(cè)的網(wǎng)站服務(wù)器,發(fā)送用于檢測(cè)漏洞的HTTPRequest,并根據(jù)服務(wù)器返回的HTTPResponse內(nèi)容,來(lái)判斷該HTTPRequest所對(duì)應(yīng)的漏洞是否存在;
所述響應(yīng)存儲(chǔ)模塊能將探測(cè)漏洞成功的HTTPRequest及HTTPResponse,和原始的HTTPResponse及HTTPRequset保存在數(shù)據(jù)庫(kù)中,以達(dá)到攻擊環(huán)境保存,用于后期檢測(cè)人員的實(shí)時(shí)回放,方便修復(fù)漏洞;
所述瀏覽器內(nèi)核模塊用于呈現(xiàn)漏洞探測(cè)成功的頁(yè)面內(nèi)容,并可對(duì)頁(yè)面需要發(fā)出的網(wǎng)絡(luò)請(qǐng)求進(jìn)行切斷,防止頁(yè)面中網(wǎng)馬之類的攻擊。
在本發(fā)明中,所述網(wǎng)絡(luò)通信模塊能利用HTTP協(xié)議發(fā)送數(shù)據(jù)包,或者調(diào)用瀏覽器引擎的接口來(lái)實(shí)現(xiàn)抓取網(wǎng)絡(luò)數(shù)據(jù)包的功能。
在本發(fā)明中,所述瀏覽器引擎能采用webkit、blink、Trident、Gecko或者IE內(nèi)核中的任意一種實(shí)現(xiàn)。
在本發(fā)明中,所述響應(yīng)存儲(chǔ)模塊中的數(shù)據(jù)庫(kù)采用mangoDB、mysql、sqlite、sqlserver或者h(yuǎn)base數(shù)據(jù)庫(kù)中的任意一種實(shí)現(xiàn)。
提供基于沙箱的漏洞驗(yàn)證系統(tǒng)的使用方法,使用基于沙箱的漏洞驗(yàn)證系統(tǒng)處理一個(gè)頁(yè)面,具體步驟為:
1)輸入一個(gè)初始URL地址;
2)根據(jù)該URL構(gòu)造各種攻擊HTTP Requset請(qǐng)求,并發(fā)送該請(qǐng)求;
3)對(duì)步驟2)中發(fā)出的數(shù)據(jù)包進(jìn)行相應(yīng)的HTTP Response做驗(yàn)證,匹配攻擊成功的特征值;
4)對(duì)匹配到攻擊成功的響應(yīng)以及請(qǐng)求存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù);
5)用自定義瀏覽器打開(kāi)攻擊成功的頁(yè)面。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明能保存漏洞驗(yàn)證時(shí)的環(huán)境,以及提供自定義瀏覽器訪問(wèn)攻擊成功返回的頁(yè)面訪問(wèn),對(duì)網(wǎng)站編寫人員修改漏洞更加友好,也避免了對(duì)服務(wù)器的二次攻擊以及對(duì)驗(yàn)證客戶機(jī)的攻擊。
附圖說(shuō)明
圖1為本發(fā)明的工作示意圖。
具體實(shí)施方式
首先需要說(shuō)明的是,本發(fā)明涉及基于沙箱的漏洞驗(yàn)證,是計(jì)算機(jī)技術(shù)在互聯(lián)網(wǎng)技術(shù)領(lǐng)域的一種應(yīng)用。在本發(fā)明的實(shí)現(xiàn)過(guò)程中,會(huì)涉及到多個(gè)軟件功能模塊的應(yīng)用。申請(qǐng)人認(rèn)為,如在仔細(xì)閱讀申請(qǐng)文件、準(zhǔn)確理解本發(fā)明的實(shí)現(xiàn)原理和發(fā)明目的以后,在結(jié)合現(xiàn)有公知技術(shù)的情況下,本領(lǐng)域技術(shù)人員完全可以運(yùn)用其掌握的軟件編程技能實(shí)現(xiàn)本發(fā)明。前述軟件功能模塊包括但不限于:網(wǎng)絡(luò)通信模塊、漏洞驗(yàn)證模塊等,凡本發(fā)明申請(qǐng)文件提及的均屬此范疇,申請(qǐng)人不再一一列舉。
下面結(jié)合附圖與具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述:
如圖1所示的一種基于沙箱的漏洞驗(yàn)證系統(tǒng),包括網(wǎng)絡(luò)通信模塊、漏洞驗(yàn)證模塊、響應(yīng)存儲(chǔ)模塊、瀏覽器內(nèi)核模塊。
所述網(wǎng)絡(luò)通信模塊能處理http請(qǐng)求,并使用HTTP協(xié)議發(fā)送HTTPRequest,并獲取到網(wǎng)頁(yè)的HTTPResponse;
瀏覽器引擎用于接收一個(gè)本地內(nèi)容作為輸入,加載該頁(yè)面并動(dòng)態(tài)執(zhí)行頁(yè)面中的腳本,瀏覽器引擎能夠偵測(cè)網(wǎng)頁(yè)發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包,并切斷該數(shù)據(jù)包的連接。瀏覽器引擎可以是webkit、blink、Trident、Gecko等,也可以是自己實(shí)現(xiàn)的一個(gè)瀏覽器引擎。
在程序中可以自己實(shí)現(xiàn)網(wǎng)絡(luò)通信模塊來(lái)處理http請(qǐng)求、ftp通信等,這樣就可以在這代碼中抓取驗(yàn)證漏洞的所有網(wǎng)絡(luò)數(shù)據(jù)包。如果不自己實(shí)現(xiàn)網(wǎng)絡(luò)通信模塊,也可以通過(guò)在原有的網(wǎng)絡(luò)通信模塊插入代碼,已達(dá)到能抓包的效果。
所述漏洞驗(yàn)證模塊能給需要檢測(cè)的網(wǎng)站服務(wù)器發(fā)送檢測(cè)漏洞的HTTPRequest,并根據(jù)服務(wù)器返回的HTTPResponse內(nèi)容,來(lái)判斷該漏洞檢測(cè)的請(qǐng)求所對(duì)應(yīng)的漏洞是否存在。
所述響應(yīng)存儲(chǔ)模塊能將探測(cè)漏洞成功的HTTPRequest及HTTPResponse和原始的HTTPResponse及HTTPRequset保存在數(shù)據(jù)庫(kù)中,以達(dá)到攻擊環(huán)境保存,用于后期檢測(cè)人員的實(shí)時(shí)回放,方便修復(fù)漏洞。
其中的數(shù)據(jù)庫(kù)采用mangoDB、mysql、sqlite、sqlserver或者h(yuǎn)base數(shù)據(jù)庫(kù)中的任意一種實(shí)現(xiàn)。
所述瀏覽器內(nèi)核模塊用于呈現(xiàn)對(duì)漏洞探測(cè)成功的頁(yè)面內(nèi)容,并可對(duì)頁(yè)面需要發(fā)出的網(wǎng)絡(luò)請(qǐng)求進(jìn)行切斷,防止頁(yè)面中網(wǎng)馬之類的攻擊。
使用該基于沙箱的漏洞驗(yàn)證系統(tǒng)處理一個(gè)頁(yè)面,其具體流程為:
1、輸入一個(gè)初始URL地址給程序。
2、程序根據(jù)該URL構(gòu)造各種攻擊HTTP Requset請(qǐng)求,并發(fā)送該請(qǐng)求。
3、對(duì)2中發(fā)出的數(shù)據(jù)包進(jìn)行相應(yīng)的HTTP Response做驗(yàn)證,匹配攻擊成功的特征值。
4、對(duì)匹配到攻擊成功的響應(yīng)以及請(qǐng)求存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)。
5、用自定義瀏覽器打開(kāi)攻擊成功的頁(yè)面。
最后,需要注意的是,以上列舉的僅是本發(fā)明的具體實(shí)施例。顯然,本發(fā)明不限于以上實(shí)施例,還可以有很多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開(kāi)的內(nèi)容中直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。