本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及測(cè)試方法和裝置。
背景技術(shù):
現(xiàn)有技術(shù)中,如圖1所示,主要依靠測(cè)試人員通過在頁面輸入測(cè)試值或者直接構(gòu)造超文本傳輸協(xié)議http請(qǐng)求進(jìn)行測(cè)試,測(cè)試主要針對(duì)單個(gè)cgi(commongatewayinterface,通用網(wǎng)關(guān)接口)進(jìn)行。這樣,測(cè)試效率較低,且需要人工收集待掃描的cgi信息,cgi列表的完整性比較難以保證,對(duì)于cgi參數(shù)值的組合情況考慮較少,容易出現(xiàn)測(cè)試遺漏。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的測(cè)試方法和測(cè)試裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請(qǐng)?zhí)峁┝艘环N測(cè)試方法,所述方法包括:獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息;根據(jù)所述請(qǐng)求信息生成備選統(tǒng)一資源定位符url;篩選所述備選url,得到待測(cè)試url;控制安全性測(cè)試工具測(cè)試所述待測(cè)試url。
在一些實(shí)施例中,所述根據(jù)所述請(qǐng)求信息生成備選url,包括:組合所述請(qǐng)求信息中包括的請(qǐng)求的統(tǒng)一資源標(biāo)識(shí)符uri以及所述請(qǐng)求的uri對(duì)應(yīng)的請(qǐng)求的服務(wù)器地址,得到所述備選url。
在一些實(shí)施例中,所述篩選所述備選url,得到待測(cè)試url,包括:對(duì)所述備選url進(jìn)行去重操作以得到待測(cè)試url;其中,所述去重操作包括:根據(jù)所述備選url中包括的目錄名和文件名對(duì)所述備選url進(jìn)行分組,包括相同目錄名和文件名的url分為一組;如果 同一組url中存在不包括參數(shù)部分的url和包括參數(shù)部分的url,則刪除所述同一組url中不包括參數(shù)部分的url;保留包括參數(shù)部分的url中具有相同參數(shù)類型的url中的一個(gè)url,刪除與保留的url具有相同參數(shù)類型的url。
在一些實(shí)施例中,所述獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息,包括:獲取預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。在一些實(shí)施例中,所述控制安全性測(cè)試工具測(cè)試所述待測(cè)試url,包括:將所述待測(cè)試url基于所述預(yù)設(shè)周期批量存儲(chǔ)于所述安全性測(cè)試工具的可執(zhí)行文件中;判斷所述可執(zhí)行文件中待測(cè)試url的數(shù)量是否小于預(yù)先設(shè)置的待測(cè)試url的數(shù)量的閾值;如果是,則控制安全性測(cè)試工具批量測(cè)試所述可執(zhí)行文件中的待測(cè)試url。
在一些實(shí)施例中,所述控制安全性測(cè)試工具測(cè)試所述待測(cè)試url,包括:獲取預(yù)先設(shè)置的免測(cè)試信息;控制安全性測(cè)試工具測(cè)試所述待測(cè)試url時(shí)跳過與所述免測(cè)試信息關(guān)聯(lián)的url。
第二方面,本申請(qǐng)?zhí)峁┝艘环N測(cè)試裝置,所述裝置包括:獲取單元,用于獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息;生成單元,用于根據(jù)所述請(qǐng)求信息生成備選統(tǒng)一資源定位符url;篩選單元,用于篩選所述備選url,得到待測(cè)試url;控制單元,用于控制安全性測(cè)試工具測(cè)試所述待測(cè)試url。
在一些實(shí)施例中,所述生成單元,包括:組合模塊,用于組合所述請(qǐng)求信息中包括的請(qǐng)求的統(tǒng)一資源標(biāo)識(shí)符uri以及所述請(qǐng)求的uri對(duì)應(yīng)的請(qǐng)求的服務(wù)器地址,得到所述備選url。
在一些實(shí)施例中,所述篩選單元,包括:去重模塊,用于對(duì)所述備選url進(jìn)行去重操作以得到待測(cè)試url;其中,所述去重操作包括:根據(jù)所述備選url中包括的目錄名和文件名對(duì)所述備選url進(jìn)行分組,包括相同目錄名和文件名的url分為一組;如果同一組url中存在不包括參數(shù)部分的url和包括參數(shù)部分的url,則刪除所述同一組url中不包括參數(shù)部分的url;保留包括參數(shù)部分的url中具有相同參數(shù)類型的url中的一個(gè)url,刪除與保留的url具有相 同參數(shù)類型的url。
在一些實(shí)施例中,所述獲取單元,包括:獲取模塊,用于獲取預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。
在一些實(shí)施例中,所述控制單元,包括:存儲(chǔ)模塊,用于將所述待測(cè)試url基于所述預(yù)設(shè)周期批量存儲(chǔ)于所述安全性測(cè)試工具的可執(zhí)行文件中;判斷模塊,用于判斷所述可執(zhí)行文件中待測(cè)試url的數(shù)量是否小于預(yù)先設(shè)置的待測(cè)試url的數(shù)量的閾值;如果是,則控制安全性測(cè)試工具批量測(cè)試所述可執(zhí)行文件中的待測(cè)試url。
在一些實(shí)施例中,所述控制單元,包括:免測(cè)試信息獲取模塊,用于獲取預(yù)先設(shè)置的免測(cè)試信息;控制模塊,用于控制安全性測(cè)試工具測(cè)試所述待測(cè)試url時(shí)跳過與所述免測(cè)試信息關(guān)聯(lián)的url。
本申請(qǐng)?zhí)峁┑臏y(cè)試方法和裝置,通過獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息,根據(jù)所述請(qǐng)求信息生成備選統(tǒng)一資源定位符url,接著篩選所述備選url,得到待測(cè)試url;最后控制安全性測(cè)試工具測(cè)試所述待測(cè)試url,該方法解決了傳統(tǒng)測(cè)試方法需要人工收集待測(cè)試url導(dǎo)致的測(cè)試效率不高且容易出現(xiàn)測(cè)試遺漏的問題。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是傳統(tǒng)測(cè)試方法的示意圖;
圖2是根據(jù)本申請(qǐng)的測(cè)試方法的一個(gè)實(shí)施例的流程圖;
圖3是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖4a是根據(jù)本申請(qǐng)的測(cè)試方法的又一個(gè)實(shí)施例的流程圖;
圖4b是根據(jù)本申請(qǐng)的測(cè)試方法中,處理獲取的服務(wù)器日志以獲得待掃描文件的一種實(shí)現(xiàn)方式的流程圖;
圖5是根據(jù)本申請(qǐng)的測(cè)試方法中,日志文件解析的一種實(shí)現(xiàn)方式的流程圖;
圖6是根據(jù)本申請(qǐng)的測(cè)試裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖7是根據(jù)本申請(qǐng)的測(cè)試方法中,進(jìn)行安全性掃描的一種實(shí)現(xiàn)方 式的流程圖;
圖8是根據(jù)本申請(qǐng)的測(cè)試裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖9是適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
圖2示出了根據(jù)本申請(qǐng)的測(cè)試方法的一個(gè)實(shí)施例的流程200。上述的測(cè)試方法,包括以下步驟:
步驟201,獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。
在本實(shí)施例中,網(wǎng)站服務(wù)器可以是阿帕奇(apache)服務(wù)器、iis(internetinformationservices,互聯(lián)網(wǎng)信息服務(wù))服務(wù)器、nginx(enginex,引擎x)服務(wù)器,下面以nginx服務(wù)器為例,首先分析nginx服務(wù)器的日志文件的日志格式,通常,nginx服務(wù)器的日志文件的日志格式通過記錄格式(log_format)指令用來設(shè)置,獲取nginx服務(wù)器的日志文件中的請(qǐng)求信息,可以是獲取nginx服務(wù)器的日志文件中,log_format定義的變量主機(jī)($host)和請(qǐng)求($request)的值,其中,$host用于記錄請(qǐng)求的地址,$request用于記錄請(qǐng)求的uri和http協(xié)議版本。
在本實(shí)施例中,可以是獲取預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件;再獲取上述預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。
例如,預(yù)設(shè)周期為一天,則可以一次獲取一天內(nèi)的網(wǎng)站服務(wù)器的日志文件,再從一天內(nèi)的網(wǎng)站服務(wù)器的日志文件中獲取其記錄的請(qǐng)求信息。通過周期的設(shè)置可以控制請(qǐng)求信息的獲取數(shù)量,便于后續(xù)對(duì)請(qǐng) 求信息的處理,同時(shí),可橫向比較各個(gè)周期獲取的請(qǐng)求信息,判斷是否存在異常情況。
步驟202,根據(jù)請(qǐng)求信息生成備選統(tǒng)一資源定位符url。
在本實(shí)施例中,可以組合步驟201中獲取的請(qǐng)求信息中包括的請(qǐng)求的uri以及上述請(qǐng)求的uri對(duì)應(yīng)的請(qǐng)求的服務(wù)器地址,得到備選url,也可以通過設(shè)置服務(wù)器日志中記錄請(qǐng)求信息的格式,直接記錄請(qǐng)求的url作為備選url。這種獲取url的方式,實(shí)現(xiàn)了測(cè)試的自動(dòng)化,且url來自于服務(wù)器的日志文件,測(cè)試更加全面。
以nginx服務(wù)器為例,拼接獲取的服務(wù)器日志中記錄的$host和$request的值后,去除$request中包括的方法名get和最后的http協(xié)議版本,以此得到用戶真實(shí)請(qǐng)求的url,并將其作為備選url。
例如,一條nginx服務(wù)器日志記錄原文為:
"08/dec/2015:10:06:09+0800""172.19.132.88""113.142.247.163"113.142.247.163,172.19.132.88"wq.jd.com"200"get/bases/orderdetail/detailview?deal_id=10160947525&bid=0&deal_refer_uin=0&callback=renderdata&t=1449540368954&g_tk=1898306532&g_ty=lshttp/1.1"3570"0.065""1898306532""mur7zjfwomukog""172.22.21.161:80""200""0.063""-""mozilla/5.0(linux;u;android4.4.4;zh-cn;2014812build/ktu84p)applewebkit/533.1(khtml,likegecko)version/4.0mqqbrowser/5.4tbs/025477mobilesafari/533.1v1_and_sq_5.9.1_272_yyb_dqq/5.9.1.2535nettype/wifiwebp/0.3.0pixel/720""-
其中,$host的值為:wq.jd.com;$request的值為:get/bases/orderdetail/detailview?deal_id=10160947525&bid=0&deal_refer_uin=0&callback=renderdata&t=1449540368954&g_tk=1898306532&g_ty=lshttp/1.1
拼接$host和$request的值后得到:wq.jd.comget/bases/orderdetail/detailview?deal_id=10160947525&bid=0&deal_refer_uin=0&callback=renderdata&t=1449540368954&g_tk=1898306532&g_ty=lshttp/1.1
去除$request中包括的方法名get和最后的http協(xié)議版本,以此得到的用戶真實(shí)請(qǐng)求的url為:
wq.jd.com/bases/orderdetail/detailview?deal_id=10160947525&bid=0&deal_refer_uin=0&callback=renderdata&t=1449540368954&g_tk=1898306532&g_ty=ls
將上述url作為備選url。
步驟203,篩選備選url,得到待測(cè)試url。
在本實(shí)施例中,篩選步驟202生成的備選url之前,可以先對(duì)備選url進(jìn)行糾錯(cuò)處理,例如備選url中出現(xiàn)了“&&”,則將“&&”替換為“&”。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,可以對(duì)上述備選url進(jìn)行去重操作以得到待測(cè)試url;上述去重操作包括:根據(jù)上述備選url中包括的目錄名和文件名對(duì)上述備選url進(jìn)行分組,包括相同目錄名和文件名的url分為一組;如果同一組url中存在不包括參數(shù)部分的url和包括參數(shù)部分的url,則刪除上述同一組url中不包括參數(shù)部分的url;保留包括參數(shù)部分的url中具有相同參數(shù)類型的url中的一個(gè)url,刪除與保留的url具有相同參數(shù)類型的url。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,可以篩選出上述備選url中包括的目錄名和文件名不含隨機(jī)數(shù)的url作為待測(cè)試url,由于目錄名或文件名包含隨機(jī)數(shù)的url數(shù)量級(jí)太大,全部測(cè)試很難完成,因此不將目錄名或文件名包含隨機(jī)數(shù)的url作為待測(cè)試url,但是可以將備選url中包括的目錄名或文件名包含隨機(jī)數(shù)的url記錄下來,用于后續(xù)分析處理。
這樣,在保證測(cè)試全面的基礎(chǔ)上,減少待測(cè)試的url的數(shù)量,提高測(cè)試效率。
步驟204,控制安全性測(cè)試工具測(cè)試待測(cè)試url。
在本實(shí)施例中,可以推送包括待測(cè)試url的文件到安全掃描服務(wù)器,向安全掃描服務(wù)器發(fā)送測(cè)試指示來實(shí)現(xiàn)控制安全掃描服務(wù)器包括的安全性測(cè)試工具測(cè)試上述待測(cè)試url,或者當(dāng)安全掃描服務(wù)器接收到包括待測(cè)試url的文件時(shí)即開始測(cè)試。
在本實(shí)施例中,如果是獲取預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息,則可以基于上述請(qǐng)求信息獲取待測(cè)試url后,將上述待測(cè)試url基于上述預(yù)設(shè)周期批量存儲(chǔ)于上述安全性測(cè)試工具的可執(zhí)行文件中。將預(yù)設(shè)周期內(nèi)請(qǐng)求信息生成的待測(cè)試url存儲(chǔ)于安全性測(cè)試工具的可執(zhí)行文件中,這樣安全性測(cè)試工具執(zhí)行上述可執(zhí)行文件,即周期性的進(jìn)行測(cè)試獲取測(cè)試結(jié)果,便于對(duì)測(cè)試結(jié)果進(jìn)行分析統(tǒng)計(jì)。
在本實(shí)施例中,也可以先判斷可執(zhí)行文件中待測(cè)試url的數(shù)量是否小于預(yù)先設(shè)置的待測(cè)試url的數(shù)量的閾值;如果是,則控制安全性測(cè)試工具批量測(cè)試上述可執(zhí)行文件中的待測(cè)試url。上述可執(zhí)行文件中存儲(chǔ)有預(yù)設(shè)周期內(nèi)請(qǐng)求信息生成的待測(cè)試url,如果可執(zhí)行文件中待測(cè)試url的數(shù)量超過了預(yù)先設(shè)置的待測(cè)試url的數(shù)量的閾值,說明預(yù)設(shè)周期內(nèi)網(wǎng)站接收的請(qǐng)求數(shù)量有存在閾值的可能,待測(cè)試url的數(shù)量超過閾值也可能導(dǎo)致測(cè)試無法完成,因此應(yīng)先分析異常的原因,再次對(duì)待測(cè)試url進(jìn)行篩選,或拆分上述可執(zhí)行文件后再進(jìn)行測(cè)試。
在本實(shí)施例中,也可以獲取預(yù)先設(shè)置的免測(cè)試信息;控制安全性測(cè)試工具測(cè)試上述待測(cè)試url時(shí)跳過與上述免測(cè)試信息關(guān)聯(lián)的url。
在本實(shí)施例中,預(yù)先設(shè)置的免測(cè)試信息包括預(yù)先設(shè)置的特定的目錄名或文件名,例如,測(cè)試過程中,跳過包括上述特定的目錄名或文件名的待測(cè)試url,以此可以進(jìn)一步提高測(cè)試效率,完善測(cè)試結(jié)果。
進(jìn)一步參考圖4a,其示出了測(cè)試方法的又一個(gè)實(shí)施例的流程400。該實(shí)施例具體為自動(dòng)分析線上(即生產(chǎn)環(huán)境)的nginx服務(wù)器日志,獲取cgi請(qǐng)求信息,并按照一定的規(guī)則進(jìn)行去重等處理,生成一份待掃描的cgi列表文件,然后提交給安全掃描服務(wù)器進(jìn)行掃描以獲取掃描結(jié)果,設(shè)備間文件的傳遞如圖3所示,該測(cè)試方法的流程400包括以下步驟:
步驟401,處理獲取的nginx服務(wù)器日志以獲得待掃描文件。
如圖5所示,以預(yù)設(shè)周期為一天為例,每天定時(shí)啟動(dòng)測(cè)試程序,定時(shí)對(duì)獲取的前一天的nginx源日志文件解壓和分析處理,生成待 掃描文件,待掃描文件中包括待掃描的url??梢酝ㄟ^定時(shí)任務(wù)(crontab)命令實(shí)現(xiàn)定時(shí)操作,如果獲取的源日志文件較大,可以先將上述源日志文件分成若干份,然后啟動(dòng)多個(gè)線程進(jìn)行并行處理。
對(duì)源日志文件的分析處理具體是先分析nginx日志格式,其日志格式通過log-format設(shè)置,之后取日志中內(nèi)置變量$host、$request,拼接成線上用戶請(qǐng)求url。
進(jìn)一步參考圖4b,其示出了對(duì)線上用戶請(qǐng)求url的處理的流程4010,包括以下步驟:
步驟4011,對(duì)url進(jìn)行糾錯(cuò)處理。
可以是消除url中連續(xù)出現(xiàn)“&”兩個(gè)及以上的記錄,例如,拼接成線上用戶請(qǐng)求的url為:wq.jd.com/mcoss/mmart/show?actid=888&areaid=888&pc=888&optons=888&tpl=888&dap=888&pps=888&&ptag=888。這種情況就需要把”&&”替換成”&”,避免后面的程序處理出錯(cuò)。為后續(xù)處理cgi及參數(shù)提供基礎(chǔ)。
步驟4012,對(duì)url進(jìn)行去重處理。
對(duì)于cgi名稱相同的url,如果同時(shí)存在沒有參數(shù)的url和帶有參數(shù)的url,則可以去除沒有參數(shù)的url,隨機(jī)保留其中的一個(gè)帶有參數(shù)值的url,來降低掃描量級(jí)。如圖6所示,上方為源數(shù)據(jù),下方為處理后數(shù)據(jù),對(duì)于wq.jd.com/mcoss/mmart/show這個(gè)cgi只保留2組參數(shù)組合,去掉了沒有參數(shù)的和參數(shù)組合(s1+s2)重復(fù)的。
步驟4013,去除包含特殊cgi的url。
特殊cgi可以已經(jīng)確定不存在安全問題的cgi,也可以是數(shù)量過多無法進(jìn)行掃描的cgi。例如,部分url中cgi名稱中含有隨機(jī)數(shù),上述cgi對(duì)應(yīng)url的數(shù)量級(jí)太大,難以完成掃描,對(duì)于名稱含有隨機(jī)數(shù)的cgi,可以先進(jìn)行存儲(chǔ),經(jīng)分析處理后再進(jìn)行掃描。
步驟4014,監(jiān)控待掃描文件中url數(shù)量。
監(jiān)控待掃描文件的行數(shù),即監(jiān)控待掃描的url的數(shù)量,當(dāng)文件總行數(shù)以及相對(duì)于前一天的增量超過一定閥值時(shí),閥值是根據(jù)線上實(shí)際情況設(shè)置的,不推送給安全掃描服務(wù)器,人工定位原因。
步驟402、將待掃描文件推送到安全掃描服務(wù)器。
將待掃描文件推送到安全掃描服務(wù)器的同時(shí),也可將cgi白名單文件一起推送給安全性掃描服務(wù)器。cgi白名單文件中包括一些特殊cgi信息,如免測(cè)試的cgi信息或cgi名稱或目錄名含有隨機(jī)變量的cgi信息,所以在主程序處理的時(shí)候會(huì)直接過濾掉不處理,而在白名單中只添加1條記錄。
步驟403、控制安全掃描服務(wù)器進(jìn)行安全性掃描。
如圖7所示,當(dāng)安全掃描服務(wù)器包括的安全性測(cè)試工具(wvs漏洞掃描軟件)接收到待掃描文件(cgi文件)后,開始對(duì)待掃描文件進(jìn)行掃描。
wvs漏洞掃描軟件,提供一個(gè)基于dos命令行的工具wvs_console.exe,其工作原理與圖形界面一樣。因此,可以通過編寫腳本,調(diào)用wvs對(duì)cgi進(jìn)行批量安全漏洞掃描。命令行工具wvs_console.exe,允許指定掃描報(bào)告的文件類型和掃描結(jié)果存放的路徑。在掃描之前,需要提前在圖形界面中配置并保存掃描設(shè)置文件,主要為配置登錄所需的cookie信息;掃描時(shí),在wvs_console.exe的命令中指定設(shè)置文件即可。
掃描結(jié)束后,基于掃描日志文件獲取掃描結(jié)果。例如,掃描日志文件中,含有關(guān)鍵字“reporter,info,[high]”的行表示該行記錄的是漏洞信息,關(guān)鍵字后的信息為漏洞的類型和含有漏洞的cgi參數(shù),關(guān)鍵字中的“high”表示漏洞級(jí)別為高級(jí)。在提取漏洞信息時(shí),還可以對(duì)已知的誤報(bào)漏洞進(jìn)行過濾。分析掃描日志的同時(shí),可以將所有掃描過的cgi、含有漏洞的cgi存入數(shù)據(jù)庫。漏洞信息提取完畢后,將cgi和其漏洞信息、漏洞統(tǒng)計(jì)信息作為掃描結(jié)果,上述掃描結(jié)果可以通過郵件等形式自動(dòng)發(fā)送至相關(guān)設(shè)備。
進(jìn)一步參考圖8,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N測(cè)試裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖8所示,本實(shí)施例所述的測(cè)試裝置800包括:獲取單元801、 生成單元802、篩選單元803和控制單元804。其中,獲取單元801獲取單元,用于獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息;生成單元802,用于根據(jù)上述請(qǐng)求信息生成備選統(tǒng)一資源定位符url;篩選單元803,用于篩選上述備選url,得到待測(cè)試url;控制單元804,用于控制安全性測(cè)試工具測(cè)試上述待測(cè)試url。在本實(shí)施例中,測(cè)試裝置800的獲取單元801可以通過有線連接方式或者無線連接方式從網(wǎng)絡(luò)服務(wù)器獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。
在本實(shí)施例中,獲取單元801獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息,供生成單元802使用,生成單元802可以根據(jù)上述請(qǐng)求信息生成備選統(tǒng)一資源定位符url,供篩選單元803使用,篩選單元803篩選上述備選url,得到待測(cè)試url,供篩選單元803使用,控制單元804控制安全性測(cè)試工具測(cè)試上述待測(cè)試url。
在本實(shí)施例中,所述生成單元802,包括:組合模塊,用于組合所述請(qǐng)求信息中包括的請(qǐng)求的統(tǒng)一資源標(biāo)識(shí)符uri以及所述請(qǐng)求的uri對(duì)應(yīng)的請(qǐng)求的服務(wù)器地址,得到所述備選url。
在本實(shí)施例中,所述篩選單元803,包括:去重模塊,用于對(duì)所述備選url進(jìn)行去重操作以得到待測(cè)試url;其中,所述去重操作包括:根據(jù)所述備選url中包括的目錄名和文件名對(duì)所述備選url進(jìn)行分組,包括相同目錄名和文件名的url分為一組;如果同一組url中存在不包括參數(shù)部分的url和包括參數(shù)部分的url,則刪除所述同一組url中不包括參數(shù)部分的url;保留包括參數(shù)部分的url中具有相同參數(shù)類型的url中的一個(gè)url,刪除與保留的url具有相同參數(shù)類型的url。
在本實(shí)施例中,所述獲取單元801,包括:獲取模塊,用于獲取預(yù)設(shè)周期內(nèi)的網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息。
在本實(shí)施例中,所述控制單元,包括:存儲(chǔ)模塊,用于將所述待測(cè)試url基于所述預(yù)設(shè)周期批量存儲(chǔ)于所述安全性測(cè)試工具的可執(zhí)行文件中;判斷模塊,用于判斷所述可執(zhí)行文件中待測(cè)試url的數(shù)量是否小于預(yù)先設(shè)置的待測(cè)試url的數(shù)量的閾值;如果是,則控制安全性測(cè)試工具批量測(cè)試所述可執(zhí)行文件中的待測(cè)試url。
在本實(shí)施例中,所述控制單元804,包括:免測(cè)試信息獲取模塊,用于獲取預(yù)先設(shè)置的免測(cè)試信息;控制模塊,用于控制安全性測(cè)試工具測(cè)試所述待測(cè)試url時(shí)跳過與所述免測(cè)試信息關(guān)聯(lián)的url。
本領(lǐng)域技術(shù)人員可以理解,上述測(cè)試裝置800還包括一些其他公知結(jié)構(gòu),例如處理器、存儲(chǔ)器等,為了不必要地模糊本公開的實(shí)施例,這些公知的結(jié)構(gòu)在圖8中未示出。
下面參考圖9,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的服務(wù)器的計(jì)算機(jī)系統(tǒng)900的結(jié)構(gòu)示意圖。
如圖9所示,計(jì)算機(jī)系統(tǒng)900包括中央處理單元(cpu)901,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)902中的程序或者從存儲(chǔ)部分908加載到隨機(jī)訪問存儲(chǔ)器(ram)903中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram903中,還存儲(chǔ)有系統(tǒng)900操作所需的各種程序和數(shù)據(jù)。cpu901、rom902以及ram903通過總線904彼此相連。輸入/輸出(i/o)接口905也連接至總線904。
以下部件連接至i/o接口905:包括鍵盤、鼠標(biāo)等的輸入部分907;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分907;包括硬盤等的存儲(chǔ)部分908;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分909。通信部分909經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器910也根據(jù)需要連接至i/o接口905??刹鹦督橘|(zhì)911,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器910上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分908。
特別地,根據(jù)本公開的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分909從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)911被安裝。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn) 上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括獲取單元、生成單元、篩選單元和控制單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,獲取單元還可以被描述為“獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息的單元”。
作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:獲取網(wǎng)站服務(wù)器的日志文件中記錄的請(qǐng)求信息;根據(jù)所述請(qǐng)求信息生成備選統(tǒng)一資源定位符url;篩選所述備選url,得到待測(cè)試url;控制安全性測(cè)試工具測(cè)試所述待測(cè)試url。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。