• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于被動信息收集的Web安全評估系統(tǒng)的設(shè)計與實現(xiàn)

    2020-07-30 14:03:27劉對路賀俊孟清高雨
    科技視界 2020年17期
    關(guān)鍵詞:域名功能模塊被動

    劉對 路賀俊 孟清 高雨

    摘 要

    信息收集是滲透測試過程中不可或缺的一步,信息收集的方式可分為主動和被動,為了提高滲透測試人員在進行被動信息收集時的效率,本文開發(fā)了基于被動信息收集的Web安全評估系統(tǒng)。系統(tǒng)采用Python開發(fā),利用Scrapy爬蟲框架對第三方被動信息收集網(wǎng)站進行數(shù)據(jù)爬取與整合,系統(tǒng)實現(xiàn)功能有對目標進行備案、Whois、子域名、子域名IP、子域名CMS、子域名Shodan、子域名漏洞信息的查詢。在對目標進行上述7個方面的信息收集時,相較于傳統(tǒng)方式此系統(tǒng)可幫助滲透測試人員在時間上提高近6倍的效率。

    關(guān)鍵詞

    被動信息收集;滲透測試;爬蟲;Web安全

    中圖分類號: ?TP311.53;TP393.08 ? ? 文獻標識碼: A

    DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 17 . 13

    Abstract

    Information collection is an indispensable step in the process of penetration testing. The methods of information collection can be divided into active and passive. In order to improve the efficiency of penetration testers in passive information collection, this paper develops a Web security assessment system based on passive information collection.The system adopts Python development and Scrapy crawler framework for data crawling and integration of third-party passive information collection websites. The system realizes the functions of filing the target, Whois, sub-domain name, sub-domain IP, sub-domain name CMS, sub-domain name Shodan, sub-domain name vulnerability information inquiry.This system can help the penetration tester nearly 6 times more efficiently than the traditional method when collecting information on the above 7 aspects of the target.

    Key Words

    Passive Intelligence Gathering; Penetration testing; Crawler; Web security

    0 引言

    在當今二十一世紀的互聯(lián)網(wǎng)時代,人們與互聯(lián)網(wǎng)的關(guān)系越來越緊密,隨之而來的便是互聯(lián)網(wǎng)的安全問題越來越被人們所關(guān)注[1]。自十八大以來,習總書記對我國的網(wǎng)絡(luò)安全問題十分看重[2]。在2016年《中華人民共和國網(wǎng)絡(luò)安全法》法案正式通過,并且該法案將于次年6月起開始施行[3]。在2018年,習總書記明確指出:網(wǎng)絡(luò)安全的競爭最終是人才的競爭[4]。

    當一個系統(tǒng)需要進行安全性評估的時候,如何判斷一個系統(tǒng)是否安全就成了網(wǎng)絡(luò)安全人員的一項主要工作任務(wù)。就目前而言,最行之有效的方法就是對目標系統(tǒng)進行滲透測試,一個系統(tǒng)的安全防護是否到位可以通過滲透測試有效的檢驗出來[5]。信息收集是滲透測試最開始進行的一步,這也是最關(guān)鍵的一步,信息收集的工作對滲透測試的結(jié)果往往可以起到?jīng)Q定性的作用[6]。

    被動與主動是信息收集的兩種方式,被動信息收集是指在不與目標產(chǎn)生交互的情況下利用公開渠道獲得目標信息,因此被動信息收集不會影響目標的網(wǎng)絡(luò)帶寬和目標服務(wù)器資源, 相較于主動信息收集隱蔽性更好[7]。反過來主動信息收集就是指通過主動與目標產(chǎn)生交互來收集信息。這兩種信息收集的方式在信息收集的過程中相輔相成,都是信息收集的一部分。

    為了更快速地收集目標信息,發(fā)現(xiàn)目標Web系統(tǒng)問題,幫助滲透測試人員更高效安全地對目標Web系統(tǒng)進行滲透測試,本文研發(fā)了一種Web安全評估系統(tǒng),該系統(tǒng)是基于被動信息收集的方式,該系統(tǒng)可幫助滲透測試人員快速定位目標Web系統(tǒng)弱點,發(fā)現(xiàn)目標漏洞,提高被動信息收集效率。

    1 功能分析

    設(shè)計一個基于被動信息收集的Web安全評估系統(tǒng),理應(yīng)具備以下特點:

    (1)能夠收集一些常見的目標信息。

    (2)對于目標信息收集需要盡可能地全面。

    (3)收集的信息能夠幫助安全人員分析Web系統(tǒng)的安全性。

    基于第1點,要求工具能夠收集目標的備案信息、Whois信息等這類常見的目標信息;基于第2點,要求工具收集的信息要盡可能的全面,不應(yīng)該局限于用戶輸入的某一個域名,最好可以收集目標的子域名和子域名的信息;基于第3點,收集的信息應(yīng)該對安全人員分析目標Web系統(tǒng)的安全性有所幫助,這就要求不能只收集目標的備案信息、Whois等此類常見信息,還應(yīng)該收集對分析目標安全性有所幫助的信息,比如目標Web的CMS信息、域名對應(yīng)IP的端口開放信息,甚至是目標的漏洞信息。

    經(jīng)過上述分析后,目前該工具主要實現(xiàn)的功能有:收集目標的備案、Whois、子域名、子域名IP、子域名CMS、子域名 Shodan、子域名漏洞信息。

    2 系統(tǒng)功能

    本文研發(fā)了一種基于被動信息收集的Web安全評估系統(tǒng),該系統(tǒng)由Python開發(fā)[8],由于考慮到會使用大量爬蟲,因此采用了較為成熟的Scrapy爬蟲框架進行開發(fā),以減輕開發(fā)任務(wù)量[9],該系統(tǒng)主要實現(xiàn)功能有對目標Web系統(tǒng)的備案信息、Whois信息、子域名信息、子域名IP信息、子域名CMS信息、子域名 Shodan信息、子域名漏洞信息進行被動收集。

    (1)備案信息查詢模塊。備案信息查詢模塊數(shù)據(jù)來源自98api.cn,利用Scrapy獲取該網(wǎng)站的API接口信息,由于爬取結(jié)果是JSON數(shù)據(jù)格式,所以可以很方便的進行數(shù)據(jù)分析與清理,最后將清理后的數(shù)據(jù)存儲到數(shù)據(jù)庫并進行輸出顯示。

    (2)Whois信息查詢模塊。利用Scrapy爬取api.devopsclub.cn的API接口信息,該爬取結(jié)果是JSON數(shù)據(jù)格式,最后將爬取的JSON信息進行數(shù)據(jù)分析清洗后存儲到數(shù)據(jù)庫并進行輸出顯示。

    (3)子域名信息查詢模塊。子域名信息查詢模塊數(shù)據(jù)來源自dnsscan.cn,利用Scrapy獲取該網(wǎng)站的信息后,由于爬取結(jié)果是HTML格式,因此可以使用Python的第三方庫BeautifulSoup對其進行解析,最后將解析結(jié)果進行分析與清理,繼而存儲到數(shù)據(jù)庫并進行輸出顯示。

    (4)子域名IP信息查詢模塊。子域名IP信息查詢模塊使用了tools.bugscaner.com的數(shù)據(jù),該爬取結(jié)果返回數(shù)據(jù)為HTML格式。由于是獲取子域名的IP信息,所以在開始執(zhí)行子域名IP信息查詢之前,需要先判斷數(shù)據(jù)庫中有無子域名信息。如果數(shù)據(jù)庫中不存在目標的子域名信息就退出子域名IP信息查詢模塊,如果數(shù)據(jù)庫中存在目標的子域名信息就進行子域名的IP信息爬取,對爬取的結(jié)果進行處理后,再進行輸出顯示及數(shù)據(jù)庫的存儲。

    (5)子域名CMS信息查詢模塊。子域名CMS信息查詢模塊調(diào)用了whatweb.bugscaner.com的API 接口,該接口返回JSON格式。和子域名IP查詢一樣,在進行子域名CMS查詢時,需要先判斷數(shù)據(jù)庫中有無目標的子域名信息,如果數(shù)據(jù)庫中沒有目標的子域名信息就退出子域名CMS信息查詢模塊,如果數(shù)據(jù)庫中存在目標Web系統(tǒng)的子域名信息就進行子域名CMS信息查詢,最后對爬取的信息進行清洗分析后,再進行輸出顯示及數(shù)據(jù)庫的存儲。

    (6)子域名Shodan信息查詢模塊。子域名Shodan信息來源自api.shodan.io,想獲取該接口的信息需要用戶的API Key,因此該模塊需要先判斷數(shù)據(jù)庫中有無API Key,如果數(shù)據(jù)庫中沒有API Key就需要用戶輸入自己的API Key,該API Key可以通過在shodan.io注冊賬號獲取。在檢測到API Key之后,將判斷數(shù)據(jù)庫中有無子域名信息,如果數(shù)據(jù)庫中沒有目標的子域名信息就退出,如果數(shù)據(jù)庫中有目標的子域名信息就進行子域名Shodan信息的查詢,通過爬蟲獲取API接口信息,之后進行數(shù)據(jù)清洗與存儲,最后進行輸出顯示。

    (7)子域名漏洞信息查詢模塊。子域名漏洞信息查詢模塊使用了cnnvd.org.cn數(shù)據(jù),該模塊在運行前,需要判斷數(shù)據(jù)庫中有無目標的CVE信息,該信息來源自“子域名Shodan信息查詢模塊”的結(jié)果。如果數(shù)據(jù)庫中不存在目標子域的CVE信息,就退出子域名漏洞信息查詢模塊,如果數(shù)據(jù)庫中存在目標的相關(guān)CVE信息,就利用爬蟲進行數(shù)據(jù)獲取,再對數(shù)據(jù)進行解析,最后對結(jié)果進行數(shù)據(jù)庫的存儲與輸出。

    3 系統(tǒng)結(jié)構(gòu)

    系統(tǒng)的結(jié)構(gòu)設(shè)計如圖1所示,用戶輸入目標的URL后,先由 “功能模塊1”進行目標URL的被動信息收集,將收集到的數(shù)據(jù)存入數(shù)據(jù)庫后,再由“功能模塊2”調(diào)取數(shù)據(jù)庫中的數(shù)據(jù)進行被動信息收集,最后輸出結(jié)果。

    本系統(tǒng)中的功能模塊主要分成2個部分,分別是功能模塊1和功能模塊2。功能模塊1包括:備案信息、Whois信息、子域名信息這3個查詢模塊;功能模塊2包括:子域名IP信息、子域名CMS信息、子域名Shodan信息、子域名漏洞信息這4個查詢模塊。整體結(jié)構(gòu)如圖2所示。

    (1)功能模塊1。功能模塊1不需要調(diào)取數(shù)據(jù)庫里的數(shù)據(jù),直接對用戶輸入的URL進行被動信息收集,功能模塊1所爬取的數(shù)據(jù)將被功能模塊2所調(diào)用。

    (2)功能模塊2。功能模塊2里的所有模塊都需要先調(diào)取數(shù)據(jù)庫里的數(shù)據(jù),在進行相關(guān)URL的被動信息收集后,再將收集到的數(shù)據(jù)存入數(shù)據(jù)庫并進行輸出顯示,因此要想執(zhí)行“功能模塊2”必須先執(zhí)行“功能模塊1”。

    4 性能分析

    為了測試本系統(tǒng)的被動信息收集工具性能,將通過分析使用傳統(tǒng)的被動信息收集方式與使用本文所開發(fā)的被動信息收集工具的方式所消耗的時間及硬件資源進行對比。傳統(tǒng)的被動信息收集方式即是指通過瀏覽器訪問第三方網(wǎng)站,繼而在第三方網(wǎng)站上獲取目標信息的方式。在被動信息收集結(jié)果一致、性能分析測試環(huán)境一致的情況下,對使用傳統(tǒng)的被動信息收集方式與使用本文所開發(fā)的被動信息收集工具的方式進行性能分析測試,測試結(jié)果如表1及表2所示。

    結(jié)合表1時間消耗性能分析表和表2硬件消耗性能分析表,可以得到使用本工具相對于傳統(tǒng)方法的性能節(jié)省倍數(shù)統(tǒng)計圖,如圖3所示。

    使用本文開發(fā)的被動信息收集工具相較于傳統(tǒng)的被動信息收集方法,在時間上降低了5.88倍,在CPU使用率上降低2.14倍,在內(nèi)存消耗上降低了1.3倍,在硬盤傳輸字節(jié)上降低了2.02倍,在網(wǎng)絡(luò)傳輸字節(jié)上降低了1.07倍。綜上所述,不論是時間消耗的性能分析還是硬件消耗的性能分析,本文所開發(fā)的被動信息收集工具都要優(yōu)于傳統(tǒng)的被動信息收集方法。

    5 結(jié)語

    本系統(tǒng)是基于被動信息收集的原理,通過收集目標URL的備案信息、Whois信息、子域名信息、子域名IP信息、子域名CMS信息、子域名Shodan信息、子域名漏洞信息來實現(xiàn)對目標的被動信息收集??梢员WC網(wǎng)絡(luò)安全人員在滲透測試的過程中,在不影響目標服務(wù)器資源同時不被目標發(fā)現(xiàn)的前提下,幫助滲透測試人員,高效快速地對目標進行被動信息收集,提高滲透測試人員對目標Web安全性評估的效率。

    參考文獻

    [1]洪藝強.淺析我國網(wǎng)絡(luò)安全現(xiàn)狀以及未來技術(shù)發(fā)展趨勢[J].電腦迷,2018,12:43.

    [2]張?zhí)N昭.中國特色治網(wǎng)之道:理念與成就——十八大以來我國網(wǎng)絡(luò)空間治理的回顧與思考[J].中國行政管理,2019,1:28.

    [3]鄧若伊.以法制保障網(wǎng)絡(luò)空間安全構(gòu)筑網(wǎng)絡(luò)強國——《網(wǎng)絡(luò)安全法》和《國家網(wǎng)絡(luò)空間安全戰(zhàn)略》解讀[J].電子政務(wù),2017,2:2-35.

    [4]張宏莉.網(wǎng)絡(luò)空間安全人才培養(yǎng)的規(guī)劃建議[J].網(wǎng)絡(luò)與信息安全學報,2016,2(3):1-9.

    [5]常艷.網(wǎng)絡(luò)安全滲透測試研究[J].信息網(wǎng)絡(luò)安全,2012,12(11):3-4.

    [6]宋超臣.Web滲透測試流程研究[J].電子設(shè)計工程,2014,22(17):165-167.

    [7]劉炎.被動網(wǎng)絡(luò)信息收集與分析技術(shù)研究[J].計算機應(yīng)用研究,2007,02:308-309.

    [8]夏敏捷,楊關(guān).Python程序設(shè)計從基礎(chǔ)到開發(fā)[M].清華大學出版社:崧博出版,2019:2.

    [9]安子建.基于Scrapy框架的網(wǎng)絡(luò)爬蟲實現(xiàn)與數(shù)據(jù)抓取分析[J].長春:吉林大學,2017.

    猜你喜歡
    域名功能模塊被動
    新聞?wù)Z篇中被動化的認知話語分析
    主動句都能轉(zhuǎn)換成被動句嗎
    第五課 拒絕被動
    趣味(語文)(2019年5期)2019-09-02 01:52:44
    如何購買WordPress網(wǎng)站域名及綁定域名
    基于ASP.NET標準的采購管理系統(tǒng)研究
    軟件導刊(2016年9期)2016-11-07 21:35:42
    輸電線路附著物測算系統(tǒng)測算功能模塊的研究
    M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
    石油知識(2016年2期)2016-02-28 16:20:16
    騰訊八百萬美元收購域名
    功能模塊的設(shè)計與應(yīng)用研究
    頂級域名爭奪戰(zhàn):ICANN放出1930個通用頂級域名,申請者有上千家
    泾源县| 东乌珠穆沁旗| 准格尔旗| 保靖县| 江阴市| 榕江县| 巴东县| 建平县| 吉水县| 拜城县| 潮州市| 昔阳县| 盖州市| 林甸县| 岱山县| 即墨市| 靖安县| 合山市| 彰化县| 房山区| 开鲁县| 舞钢市| 昌宁县| 永城市| 贵州省| 荆门市| 大埔县| 黔西县| 永定县| 交口县| 元谋县| 凭祥市| 北海市| 双流县| 临泉县| 门头沟区| 太和县| 张家界市| 彭阳县| 南京市| 措勤县|