国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web網(wǎng)站敏感目錄自動(dòng)檢測(cè)工具設(shè)計(jì)

2018-06-29 01:58:04李晨陽(yáng)陳吟樊云王鏡瑯雷敏
網(wǎng)絡(luò)空間安全 2018年1期

李晨陽(yáng) 陳吟 樊云 王鏡瑯 雷敏

摘 要:敏感目錄是指目標(biāo)服務(wù)器上存在含有敏感名稱的目錄,這些目錄中可能包含了大量的敏感文件和信息。利用該漏洞,攻擊者可全面了解目標(biāo)服務(wù)器的網(wǎng)站架構(gòu),甚至獲取敏感文件中的敏感信息,從而得到目標(biāo)服務(wù)器的控制權(quán),實(shí)施進(jìn)一步攻擊。論文介紹了敏感目錄漏洞及其危害,對(duì)HTTP協(xié)議及URL進(jìn)行分析,設(shè)計(jì)并實(shí)現(xiàn)了以字典為檢測(cè)標(biāo)準(zhǔn)的自動(dòng)化檢測(cè)腳本,判斷指定主機(jī)是否存在該漏洞,并在實(shí)際測(cè)試中被成功應(yīng)用。

關(guān)鍵詞:網(wǎng)站掃描;敏感目錄;自動(dòng)化檢測(cè)

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A

Design of automated detection tool for sensitive path of websites

Abstract: Sensitive paths are paths on the target server that contain sensitive names, which may contain a large number of sensitive files and information. Using this vulnerability, attackers can fully understand the target server's site architecture, and even access sensitive information in sensitive files to gain control of the target server for further attacks. This paper introduces the sensitive paths vulnerability and its effects, analyzes the HTTP protocol and URL, designs and implements the automated detection script based on the dictionary which is successfully applied in the actual test to judge whether the server exists the vulnerability.

Key words: web scan; sensitive path; automated detection

1 引言

Web應(yīng)用的易于開(kāi)發(fā)性、開(kāi)放性使得Web應(yīng)用快速發(fā)展,與此同時(shí)安全問(wèn)題也日益突出,Web應(yīng)用已成為攻擊者攻擊的主要對(duì)象。2015年史考特證券遭遇攻擊,同年Web托管公司000Webhost也遭遇黑客攻擊,數(shù)百萬(wàn)名用戶敏感信息被泄露。此外,緩沖區(qū)溢出、跨站點(diǎn)腳本、目錄遍歷等各種安全問(wèn)題也不斷涌現(xiàn)。

敏感目錄漏洞是一種常見(jiàn)的Web漏洞,它是指目標(biāo)服務(wù)器上存在含有敏感名稱的目錄,例如/upload、/database、/bak等。攻擊者可通過(guò)目標(biāo)服務(wù)器的目錄信息全面了解網(wǎng)站架構(gòu),從而對(duì)網(wǎng)站進(jìn)行入侵攻擊,獲取服務(wù)器后端數(shù)據(jù)庫(kù)信息,使得用戶敏感信息泄露。目前,中國(guó)國(guó)家信息安全漏洞共享平臺(tái)(CNVD)對(duì)該漏洞的評(píng)級(jí)為“低?!薄?/p>

鑒于敏感目錄漏洞的危害和影響,方便網(wǎng)站運(yùn)維人員和管理人員及時(shí)發(fā)現(xiàn)并解決問(wèn)題,本文提出了編寫(xiě)Python腳本來(lái)實(shí)現(xiàn)對(duì)網(wǎng)站敏感目錄漏洞的自動(dòng)掃描與檢測(cè)。本文通過(guò)對(duì)HTTP協(xié)議以及URL的分析,設(shè)計(jì)了基于字典的通過(guò)探測(cè)服務(wù)器響應(yīng)信息來(lái)檢測(cè)Web網(wǎng)站敏感目錄的腳本。最后,以內(nèi)網(wǎng)中一臺(tái)存在敏感目錄漏洞的主機(jī)(試驗(yàn)機(jī))為例,測(cè)試了腳本的運(yùn)行結(jié)果。

2 漏洞簡(jiǎn)介

漏洞指的是在系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)、管理或者操作時(shí)產(chǎn)生的可能引發(fā)系統(tǒng)安全問(wèn)題的缺陷或弱點(diǎn),使得系統(tǒng)或其應(yīng)用數(shù)據(jù)的保密性、完整性、可用性、訪問(wèn)控制以及監(jiān)測(cè)機(jī)制等方面面臨威脅。Web漏洞可分為服務(wù)器端漏洞和客戶端漏洞兩大類。

敏感目錄是指目標(biāo)服務(wù)器中含有敏感名稱或敏感文件的目錄,如/admin、/robots.txt、/index.php、/upload等。利用該漏洞,攻擊者可全面了解目標(biāo)服務(wù)器的網(wǎng)站架構(gòu)。此外,敏感名稱的目錄中可能包含了大量的敏感文件和腳本,如服務(wù)器的配置信息、管理腳本、數(shù)據(jù)庫(kù)信息以及后臺(tái)管理界面等,攻擊者可通過(guò)暴力破解等方式直接訪問(wèn)管理界面,獲取目標(biāo)服務(wù)器的控制權(quán),實(shí)施進(jìn)一步的攻擊,并對(duì)目標(biāo)服務(wù)器造成嚴(yán)重的危害。

敏感目錄雖是低危漏洞,但若被攻擊者利用,同樣會(huì)對(duì)目標(biāo)服務(wù)器造成巨大的危害。若網(wǎng)站運(yùn)維人員或管理人員發(fā)現(xiàn)檢測(cè)出的敏感目錄中包含了敏感文件或腳本時(shí),可以對(duì)該目錄進(jìn)行非常規(guī)的重命名;也可以設(shè)置權(quán)限,禁止用戶訪問(wèn);還可將敏感文件或腳本與網(wǎng)站目錄分離,放在不易猜測(cè)的路徑中;若目錄中內(nèi)容是非必要的,則可以考慮刪除該目錄。

3 檢測(cè)工具設(shè)計(jì)

3.1 HTTP協(xié)議分析

本文設(shè)計(jì)的檢測(cè)工具通過(guò)向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,并根據(jù)獲取的服務(wù)器響應(yīng)來(lái)檢測(cè)Web網(wǎng)站的敏感目錄,這一功能基于HTTP協(xié)議。

超文本傳輸協(xié)議(Hypertext Transfer Protocol,HTTP)是WWW服務(wù)器與瀏覽器間傳輸超文本的網(wǎng)絡(luò)協(xié)議,它是基于請(qǐng)求與響應(yīng)模式的、無(wú)狀態(tài)的協(xié)議,絕大多數(shù)的Web開(kāi)發(fā)都是構(gòu)建在HTTP協(xié)議上的Web應(yīng)用。HTTP協(xié)議示意圖如圖1所示。

HTTP報(bào)文包括請(qǐng)求報(bào)文和響應(yīng)報(bào)文。請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭、空行以及正文四部分構(gòu)成。請(qǐng)求行一般由請(qǐng)求方式、URI以及協(xié)議版本組成,在HTTP/1.1版本提供的八種請(qǐng)求方式中,POST方法和GET方法最為常見(jiàn),其中GET方法常用于對(duì)特定資源的訪問(wèn)請(qǐng)求,在本文設(shè)計(jì)的檢測(cè)工具中使用了GET方法。請(qǐng)求報(bào)文結(jié)構(gòu)如圖2所示。

HTTP響應(yīng)報(bào)文也由四部分構(gòu)成,包括狀態(tài)行、響應(yīng)頭、空行以及響應(yīng)正文。狀態(tài)行一般由協(xié)議版本、狀態(tài)碼以及消息組成,例如:

HTTP/1.1 200 OK

其中HTTP/1.1表示該報(bào)文使用的HTTP協(xié)議版本,200為響應(yīng)報(bào)文的狀態(tài)碼,表示找到了請(qǐng)求的特定資源,響應(yīng)正文OK表示一切正常,是指服務(wù)器返回的資源信息。根據(jù)請(qǐng)求信息的不同,服務(wù)器返回的響應(yīng)狀態(tài)碼也不同。常見(jiàn)的響應(yīng)報(bào)文狀態(tài)碼及其所對(duì)應(yīng)的含義如圖3所示。

本文設(shè)計(jì)的敏感目錄檢測(cè)工具則是根據(jù)探測(cè)服務(wù)器響應(yīng)信息,即獲取響應(yīng)報(bào)文的狀態(tài)碼來(lái)設(shè)計(jì)實(shí)現(xiàn)的。

3.2 URL分析

Web站點(diǎn)敏感目錄的爬取與URL密切相關(guān),統(tǒng)一資源定位符(Uniform Resource Locator,URL)是對(duì)互聯(lián)網(wǎng)上可獲取資源的位置及訪問(wèn)方法的簡(jiǎn)潔表示,互聯(lián)網(wǎng)上每個(gè)資源都有唯一的URL。

基本的URL包括協(xié)議/模式(Scheme)、服務(wù)器名稱(Host)、端口(Port)和路徑(Path)四部分,此外還有用戶名(Name)和密碼(Pwd)、參數(shù)(Parameters)、查詢(Query)以及片段(fragment)等。URL組成及含義如圖4所示。

URL的通用格式為:

scheme://name:pwd@host[:port]/path/[;params][?query][#fragment]

3.3 自動(dòng)化腳本設(shè)計(jì)

基于HTTP協(xié)議及URL格式分析,本文按照?qǐng)D5思路設(shè)計(jì)編寫(xiě)自動(dòng)化檢測(cè)腳本。

首先,通過(guò)用戶輸入獲取目標(biāo)服務(wù)器地址及字典參數(shù):

獲取成功后,需要使用Python中urlparse函數(shù)對(duì)目標(biāo)服務(wù)器

URL進(jìn)行解析,獲取目標(biāo)服務(wù)器名稱(host)信息,并將該信息作為數(shù)據(jù)庫(kù)名稱永久存儲(chǔ)。urlparse函數(shù)可將URL解析為6個(gè)組件,但其在解析時(shí),URL開(kāi)頭部分必須包含“//”,否則無(wú)法正確解析出服務(wù)器名稱,所以需要對(duì)獲取的服務(wù)器地址進(jìn)行驗(yàn)證或修改:

本文設(shè)計(jì)的自動(dòng)檢測(cè)腳本需要獲取響應(yīng)報(bào)文的狀態(tài)碼等信息,這里選用Python第三方庫(kù)requests來(lái)完成,requests.get()方法表示以GET方式發(fā)送請(qǐng)求,其返回結(jié)果為一個(gè)存儲(chǔ)了服務(wù)器響應(yīng)信息的response對(duì)象,響應(yīng)信息包括狀態(tài)碼,響應(yīng)實(shí)體等。該部分關(guān)鍵代碼為:

其中target為要請(qǐng)求的URL。將allow_redirects參數(shù)設(shè)置為False,表示不允許頁(yè)面跳轉(zhuǎn),若出現(xiàn)頁(yè)面跳轉(zhuǎn)則返回的狀態(tài)碼為302,而不是200。

請(qǐng)求的URL則是由字典及用戶輸入的服務(wù)器地址共同構(gòu)造的,所以需要將字典中敏感目錄以行為單位提取出來(lái),保存在以list命名的數(shù)組中,接著再分別與服務(wù)器地址構(gòu)造成URL。關(guān)鍵代碼為:

此外還需要考慮到敏感目錄信息的永久存儲(chǔ),Python 2.5 x以上版本已默認(rèn)自帶sqlite3模塊。首先需要?jiǎng)?chuàng)建用于存儲(chǔ)服務(wù)器掃描結(jié)果的數(shù)據(jù)庫(kù),確定表名、列名以及列的數(shù)據(jù)類型。其中數(shù)據(jù)庫(kù)名由URL解析獲得的host信息確定,列名則包括返回狀態(tài)碼(status_code,TEXT)和服務(wù)器存在的敏感目錄(path,TEXT)。

在使用requests.get()方法獲取到服務(wù)器的響應(yīng)信息后,需要判斷請(qǐng)求的URL是否已存在于數(shù)據(jù)庫(kù)中,若不存在且響應(yīng)碼不為404,通過(guò)insert將該條信息插入對(duì)應(yīng)數(shù)據(jù)庫(kù)的表中即可。關(guān)鍵代碼如下:

在腳本運(yùn)行結(jié)束后,若目標(biāo)服務(wù)器名稱對(duì)應(yīng)的數(shù)據(jù)庫(kù)不為空,則表示該服務(wù)器存在敏感目錄,返回并顯示掃描結(jié)果:

3.4 實(shí)際測(cè)試

實(shí)際測(cè)試環(huán)境為含有敏感目錄的docker鏡像,首先使用如如6所示命令加載鏡像:

$ docker load < sens_path.tar

接著使用如圖7所示命令啟動(dòng)被加載成功的docker鏡像:

$ docker run -d -p 8004:80 joomla:v2

本次測(cè)試中,使用自定義字典payload.txt對(duì)目標(biāo)網(wǎng)站進(jìn)行掃描,輸入命令“python sens_path.py 10.109.35.113:8004(要檢測(cè)的地址)”,運(yùn)行自動(dòng)化檢測(cè)腳本,可檢測(cè)出目標(biāo)網(wǎng)站存在的敏感目錄,如圖8所示。

4 結(jié)束語(yǔ)

Web應(yīng)用不斷發(fā)展的同時(shí),其安全問(wèn)題也受到越來(lái)越多的重視關(guān)注。本文通過(guò)對(duì)HTTP協(xié)議以及URL結(jié)構(gòu)的分析,提出了編寫(xiě)Python腳本以實(shí)現(xiàn)對(duì)Web網(wǎng)站敏感目錄的自動(dòng)檢測(cè)。通過(guò)本文設(shè)計(jì)的自動(dòng)化檢測(cè)腳本,可對(duì)目標(biāo)服務(wù)器進(jìn)行快速掃描,便于管理、運(yùn)維人員及時(shí)發(fā)現(xiàn)安全問(wèn)題。

基金項(xiàng)目:

國(guó)家科技支撐計(jì)劃(項(xiàng)目編號(hào):2015BAH08F02)。

參考文獻(xiàn)

[1] 王琪.面向Web應(yīng)用的漏洞掃描技術(shù)研究[D].南京郵電大學(xué), 2016.

[2] 王濤.HTTP協(xié)議技術(shù)淺析[J].中國(guó)新技術(shù)新產(chǎn)品, 2013(22):14-14.

[3] 胡志偉.Web應(yīng)用安全漏洞掃描系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2013.

[4] 胡冬梅.基于B/S架構(gòu)Web應(yīng)用安全防范[J].信息安全與通信保密,2013(1):31-31.

[5] 楊新英.基于網(wǎng)絡(luò)爬蟲(chóng)的Web應(yīng)用程序漏洞掃描器的研究與實(shí)現(xiàn)[D].電子科技大學(xué), 2010.

[6] 丁敏.基于python語(yǔ)言實(shí)現(xiàn)自動(dòng)化測(cè)試的研究[J].數(shù)字技術(shù)與應(yīng)用,2010(3):88-88.

[7] 錢劼,雷敏,鄒仕洪.Java反序列化漏洞自動(dòng)檢測(cè)腳本設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017,(08):66-68.

株洲县| 屏东县| 汾西县| 永济市| 金阳县| 绥中县| 双桥区| 长治县| 仪征市| 抚顺市| 高要市| 会泽县| 敦煌市| 徐水县| 涞水县| 锡林浩特市| 济南市| 老河口市| 金堂县| 镇远县| 绵阳市| 肥西县| 桃园市| 红河县| 南澳县| 阿合奇县| 长武县| 洛宁县| 峨山| 图们市| 子长县| 方山县| 滨州市| 沾益县| 酉阳| 云林县| 馆陶县| 砀山县| 浮梁县| 开封市| 靖安县|