畢業(yè)設(shè)計(jì)----漏洞掃描工具原理與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  系 ( 所 ) </p><p>  批 準(zhǔn) 日 期 </p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p>  院 系 班 學(xué)生 </p><p>  畢業(yè)設(shè)計(jì)(論文)課題 漏洞

2、掃描工具原理與實(shí)現(xiàn) </p><p>  畢業(yè)設(shè)計(jì)(論文)工作自 年 月 日起至 年 月 日止</p><p>  畢業(yè)設(shè)計(jì)(論文)進(jìn)行地點(diǎn): 電信學(xué)院網(wǎng)絡(luò)所

3、 </p><p>  課題的背景、意義及培養(yǎng)目標(biāo)</p><p>  漏洞掃描工具用于探測(cè)或者評(píng)估網(wǎng)絡(luò)和系統(tǒng)的漏洞的工具,是網(wǎng)絡(luò)安全結(jié)構(gòu)中的重要組成部分,為系統(tǒng)管理員提供了有效的安全防御工具。 </p><p>  通過該題目的畢業(yè)設(shè)計(jì),使學(xué)生能夠綜合運(yùn)用網(wǎng)絡(luò)原理、網(wǎng)絡(luò)安全等課程的專業(yè)知識(shí),提高分析與解決問題的能力。

4、 </p><p>  設(shè)計(jì)(論文)的原始數(shù)據(jù)與資料</p><p>  無原始數(shù)據(jù)與資料 </p><

5、;p>  課題的主要任務(wù) </p><p>  學(xué)習(xí)和掌握漏洞掃描研究領(lǐng)域的概念和原理。 實(shí)現(xiàn)漏洞掃描的基本功能:端口掃描、操作系統(tǒng)探測(cè)、漏洞探測(cè),建立漏洞特征庫和產(chǎn)生漏洞報(bào)告,并進(jìn)行一定的測(cè)試

6、。 </p><p>  課題的基本要求(工程設(shè)計(jì)類題應(yīng)有技術(shù)經(jīng)濟(jì)分析要求)</p><p>  1、掌握漏洞掃描原理

7、 </p><p>  2、完成編碼和調(diào)試,實(shí)現(xiàn)上述基本功能 </p><p>  3、系統(tǒng)結(jié)構(gòu)合理,運(yùn)用技術(shù)正確,系統(tǒng)能達(dá)到一定性能。 </p><p>  完成任務(wù)后提交的書面材料要求(圖紙規(guī)格、數(shù)量,論文

8、字?jǐn)?shù),外文翻譯字?jǐn)?shù)等)</p><p>  1. 程序清單、流程和說明 </p><p>  2. 畢業(yè)設(shè)計(jì)論文(15000字左右):要求形式、內(nèi)容方面符合論文規(guī)范 </p><p>  3. 翻譯原文及譯文(4

9、000字) </p><p><b>  主要參考文獻(xiàn)</b></p><p>  1、陳家東. 網(wǎng)絡(luò)安全掃描系統(tǒng)實(shí)現(xiàn)技術(shù)研究. 碩士學(xué)位論文,華中科技大學(xué), 2007 </p><p>  2、楊森, 張新有. 網(wǎng)絡(luò)

10、安全漏洞掃描器設(shè)計(jì)與實(shí)現(xiàn). 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2008:(11) </p><p>  指導(dǎo)教師 </p><p>  接受設(shè)計(jì)(論文)任務(wù)日期 </p><p> ?。ㄗⅲ河芍笇?dǎo)教師填寫

11、) 學(xué)生簽名: </p><p>  畢業(yè)設(shè)計(jì)(論文)考核評(píng)議書</p><p>  院 系(專業(yè)) 班級(jí)

12、 </p><p>  指導(dǎo)教師對(duì)學(xué)生 所完成的課題為 </p><p>  的畢業(yè)設(shè)計(jì)(論文)進(jìn)行的情況,完成的質(zhì)量及評(píng)分的意見: </p><p>  指導(dǎo)教師

13、 </p><p>  年 月 日</p><p>  畢業(yè)設(shè)計(jì)(論文)評(píng)審意見書</p><p>  評(píng)審意見: </p><p>  評(píng)閱人

14、 職稱 </p><p>  年 月 日 </p><p>  畢業(yè)設(shè)計(jì)(論文)答辯結(jié)果</p><p>  院 </p><p>  系(專業(yè)) </p>

15、<p>  畢業(yè)設(shè)計(jì)(論文)答辯組對(duì)學(xué)生 所完成的課題為 </p><p>  的畢業(yè)設(shè)計(jì)(論文)經(jīng)過答辯,其意見為

16、 </p><p>  并確定成績(jī)?yōu)?</p><p>  畢業(yè)設(shè)計(jì)(論文)答辯組負(fù)責(zé)人

17、 </p><p>  答辯組成員 </p><p><b>  年 月 日</b></p><p><b>  摘 要</b><

18、;/p><p>  隨著Internet的迅速發(fā)展,網(wǎng)絡(luò)為信息流通提供了高效穩(wěn)定的平臺(tái)。網(wǎng)絡(luò)技術(shù)的發(fā)展在給我們帶來便利的同時(shí)也帶來了巨大的安全隱患。不法分子試圖不斷利用新的技術(shù)伺機(jī)攻入他人的網(wǎng)絡(luò)系統(tǒng),利用特殊的方法搜集資源來達(dá)到特殊的目的。一旦重要信息泄露,就會(huì)帶來無法估量的嚴(yán)重后果。漏洞掃描技術(shù)能夠檢測(cè)網(wǎng)絡(luò)系統(tǒng)潛在的安全漏洞和脆弱性,評(píng)估網(wǎng)絡(luò)系統(tǒng)的安全狀況。 </p><p>  本文給出一

19、個(gè)掃描器實(shí)例。通過對(duì)漏洞掃描相關(guān)理論的分析,將掃描器實(shí)例的劃分成幾個(gè)模塊,并給出每個(gè)模塊的工作流程。按照工作流程,從方法實(shí)現(xiàn)原理出發(fā),詳細(xì)的描述了每個(gè)模塊的實(shí)現(xiàn)方法,并給出關(guān)鍵代碼。然后對(duì)關(guān)鍵代碼進(jìn)行解釋分析。最終對(duì)本系統(tǒng)進(jìn)行測(cè)試,在給出測(cè)試結(jié)果的同時(shí),也對(duì)測(cè)試結(jié)果進(jìn)行了分析。通過本系統(tǒng),能夠輕松實(shí)現(xiàn)對(duì)系統(tǒng)的端口掃描,F(xiàn)TP、SMTP、FINGER、CGI漏洞的掃描。</p><p>  該系統(tǒng)有利于管理員對(duì)整體

20、網(wǎng)絡(luò)的安全態(tài)勢(shì)做出評(píng)估,減輕管理員的負(fù)擔(dān)。并可以對(duì)普通非專業(yè)用戶的網(wǎng)絡(luò)安全做出基本的保障。</p><p>  關(guān) 鍵 詞:網(wǎng)絡(luò)安全;漏洞;漏洞掃描</p><p><b>  ABSTRACT</b></p><p>  With the rapid development of Internet, the network provides

21、a stable platform for the flow of the information. The development of network technology has brought us not only convenience but also huge security risks. Criminal people constantly try to use new technology into other p

22、eople's network system, and use special methods collecting resources to achieve a special purpose. Once the disclosure of important information, it will bring us serious incalculable consequences. Vulnerability scann

23、ing</p><p>  In this paper, we will give an instance of a scanner. Through the analysis of the relevant theory of vulnerability scanning, we partition the scanner into several modules and show the workflow o

24、f each module. In accordance with the workflow, starting from the principle of method, we detailedly descript the implementation of each module, and give the key code. And then we explain and analyze the code. Finally, w

25、e show and analyze the result of the ultimate test of the system. Through this system,</p><p>  It is Conducive to administrators to assess the security situation of the overall network and reduce the burden

26、 of administrators. And it can be for ordinary non-professional user to make the basic network security protection.</p><p>  KEY WORDS: Network security; Vulnerability; Vulnerability scanning</p><

27、p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題意義1</p><p>  1.2 漏洞掃描系統(tǒng)設(shè)計(jì)的特點(diǎn)和任務(wù)2</p><p>  1.3 章節(jié)安排2</p><p>  2 應(yīng)用系統(tǒng)開發(fā)工具

28、3</p><p>  2.1 VC++環(huán)境與C++語言基礎(chǔ)3</p><p>  2.2 VC++環(huán)境的特點(diǎn)及優(yōu)勢(shì)3</p><p>  2.3 C++語言的特點(diǎn)和優(yōu)勢(shì)3</p><p>  2.4 VC++其他重要技術(shù)簡(jiǎn)介4</p><p>  2.4.1 winsock編程4</p>&

29、lt;p>  2.4.2 多線程技術(shù)6</p><p>  3 漏洞掃描原理及需求分析8</p><p>  3.1 漏洞和掃描8</p><p>  3.1.1 漏洞的分類8</p><p>  3.1.2 漏洞的特征8</p><p>  3.1.3 漏洞的危害9</p><p

30、>  3.1.4 漏洞掃描9</p><p>  3.2 本文采用的漏洞掃描技術(shù)簡(jiǎn)介10</p><p>  3.2.1 檢測(cè)服務(wù)端口開放與否10</p><p>  3.2.2 獲取服務(wù)軟件的Banner信息10</p><p>  3.2.3 錯(cuò)誤配置的檢測(cè)10</p><p>  3.2.4 簡(jiǎn)單

31、密碼探測(cè)10</p><p>  3.2.5 網(wǎng)絡(luò)協(xié)議漏洞11</p><p>  3.3 系統(tǒng)的需求分析11</p><p>  3.4 系統(tǒng)的功能描述11</p><p>  3.5 系統(tǒng)流程分析12</p><p>  3.6 系統(tǒng)功能模塊劃分15</p><p>  4 系統(tǒng)

32、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)16</p><p>  4.1 系統(tǒng)的主界面16</p><p>  4.2 系統(tǒng)的主要功能模塊16</p><p>  4.2.1 端口掃描模塊16</p><p>  4.2.2 FTP漏洞掃描模塊20</p><p>  4.2.3 SMTP掃描模塊25</p><

33、p>  4.2.4 FINGER漏洞掃描模塊29</p><p>  4.2.5 CGI漏洞掃描模塊32</p><p>  5 系統(tǒng)功能測(cè)試38</p><p>  5.1 測(cè)試目標(biāo)選擇38</p><p>  5.2 測(cè)試結(jié)果38</p><p>  6 結(jié)論與展望49</p>&l

34、t;p><b>  致 謝50</b></p><p><b>  參考文獻(xiàn)51</b></p><p><b>  附 錄52</b></p><p><b>  緒論</b></p><p><b>  課題意義</b&

35、gt;</p><p>  隨著科學(xué)技術(shù)的飛速發(fā)展,21世紀(jì)的地球人已經(jīng)生活在信息時(shí)代。20世紀(jì)人類兩大科學(xué)技術(shù)成果--計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù),均已深入到人類社會(huì)的各個(gè)領(lǐng)域,Internet把"地球村"的居民緊密聯(lián)系在一起,"天涯若比鄰"已然成為現(xiàn)實(shí)?;ヂ?lián)網(wǎng)之所以能這樣迅速蔓延,被世人接受,是因?yàn)樗邆涮赜械男畔①Y源。在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、

36、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網(wǎng)絡(luò)實(shí)現(xiàn)的,信息的獲取也是來自Internet“海洋”中。因此,在網(wǎng)絡(luò)上存在大量有意義的信息。無論對(duì)商人、學(xué)者,還是對(duì)社會(huì)生活中的普通老百姓,只要你進(jìn)入網(wǎng)絡(luò)的世界,就能找到其隱藏的奧妙,就能得到你所需要的價(jià)值,而這其中種種的人類社會(huì)活動(dòng),它們的影響又是相互的。近年來Internet的迅速發(fā)展,給人們的日常生活帶來了全新的感受

37、,"網(wǎng)絡(luò)生存"已經(jīng)成為時(shí)尚,同時(shí)人類社會(huì)諸如政治、科研、經(jīng)濟(jì)、軍事等各種活動(dòng)對(duì)信息網(wǎng)絡(luò)的依賴程度已經(jīng)越來越強(qiáng),"網(wǎng)絡(luò)經(jīng)濟(jì)"時(shí)代已初露端倪。</p><p>  然而,網(wǎng)絡(luò)技術(shù)的發(fā)展在給我們帶來便利的同時(shí)也帶來了巨大的安全隱患,尤其是Internet和Intranet的飛速發(fā)展對(duì)網(wǎng)絡(luò)安全提出了前所未有的挑戰(zhàn)。技術(shù)是一把雙刃劍,不法分子試圖不斷利用新的技術(shù)伺機(jī)攻入他人的網(wǎng)絡(luò)系統(tǒng)

38、,利用特殊的方法搜集資源來達(dá)到特殊的目的。就會(huì)給社會(huì)帶來很大的負(fù)面影響。無論是政治,經(jīng)濟(jì)和文化領(lǐng)域,都存在一些機(jī)密的信息要保存在網(wǎng)絡(luò)上,或者通過Internet傳輸。而肩負(fù)保護(hù)網(wǎng)絡(luò)安全重任的系統(tǒng)管理員則要利用最新的網(wǎng)絡(luò)技術(shù)來防范各種各樣的非法網(wǎng)絡(luò)入侵行為。事實(shí)已經(jīng)表明,隨著互連網(wǎng)的日趨普及,在互連網(wǎng)上的犯罪活動(dòng)也越來越多,特別是Internet大范圍的開放以及金融領(lǐng)域網(wǎng)絡(luò)的接入,使得越來越多的系統(tǒng)遭到入侵攻擊的威脅。但是,不管入侵者是從

39、外部還是從內(nèi)部攻擊某一網(wǎng)絡(luò)系統(tǒng),攻擊機(jī)會(huì)都是通過挖掘系統(tǒng)和應(yīng)用服務(wù)程序的弱點(diǎn)或者缺陷來實(shí)現(xiàn)的。因此網(wǎng)絡(luò)安全的重要性是顯而易見,漏洞掃描系統(tǒng)的地位也是不容忽視的[7-8]。它已成為現(xiàn)代信息化建設(shè)中的重要組成部分,倍受人們的重視。</p><p>  網(wǎng)絡(luò)安全問題己成為當(dāng)前網(wǎng)絡(luò)技術(shù)研究的重點(diǎn)。漏洞掃描技術(shù)能夠檢測(cè)網(wǎng)絡(luò)系統(tǒng)潛在的安全漏洞和脆弱性,評(píng)估網(wǎng)絡(luò)系統(tǒng)的安全狀況,是實(shí)現(xiàn)網(wǎng)絡(luò)安全的重要技術(shù)之一。</p>

40、<p>  基于這種現(xiàn)狀,本系統(tǒng)研究了漏洞掃描的原理,實(shí)現(xiàn)漏洞描述、通過漏洞檢測(cè)過程,有利于管理員對(duì)整體網(wǎng)絡(luò)的安全態(tài)勢(shì)做出評(píng)估,本系統(tǒng)的操作界面簡(jiǎn)單大方,便于專業(yè)管理員以及非專業(yè)用戶的使用,無需經(jīng)過特殊的培訓(xùn),容易上手。目的是為了,減輕管理員的負(fù)擔(dān),以及對(duì)普通非專業(yè)用戶的網(wǎng)絡(luò)安全做出基本的保障。本系統(tǒng)實(shí)現(xiàn)包括端口的掃描,F(xiàn)TP漏洞的掃描,SMTP漏洞的掃描,CGI漏洞的掃描,F(xiàn)INGER漏洞的掃描,以及以文本方式直觀的顯示

41、掃描結(jié)果等多項(xiàng)功能。系統(tǒng)基于WINDOWS平臺(tái),使用VC++集成環(huán)境編寫,分模塊進(jìn)行設(shè)計(jì)。實(shí)施基于網(wǎng)絡(luò)漏洞掃描的核心目標(biāo)。提供簡(jiǎn)單易用、開放式、高效和實(shí)時(shí)性強(qiáng)的漏洞掃描系統(tǒng),為用戶提供查看系統(tǒng)安全狀況的平臺(tái)。</p><p>  漏洞掃描技術(shù)研究的目的就是為了檢查互聯(lián)網(wǎng)環(huán)境下的各種網(wǎng)絡(luò)系統(tǒng)與設(shè)備的安全漏洞,它通過檢查網(wǎng)絡(luò)系統(tǒng)上打開的端口,按順序診斷這些端口所提供的網(wǎng)絡(luò)服務(wù)漏洞,并向系統(tǒng)管理員提供詳細(xì)的漏洞診斷報(bào)告

42、,從而協(xié)助管理員防漏堵漏。</p><p>  漏洞掃描系統(tǒng)設(shè)計(jì)的特點(diǎn)和任務(wù)</p><p>  操作簡(jiǎn)單、界面友好: 整個(gè)漏洞掃描系統(tǒng)只有一個(gè)界面,他包括所有的操作和輸出功能,簡(jiǎn)潔友好。功能清晰,整個(gè)系統(tǒng)健壯性強(qiáng)。</p><p>  功能完善:包括主要常見的系統(tǒng)漏洞的掃描:端口掃描,F(xiàn)TP漏洞掃描,SMTP漏洞掃描,CGI漏洞掃描,F(xiàn)INGER漏洞掃描。<

43、/p><p>  結(jié)果清晰:只給出必要的掃描結(jié)果,省略了掃描過程中信息的顯示,結(jié)果直觀,顯而易見。</p><p><b>  章節(jié)安排</b></p><p><b>  第一章:緒論</b></p><p>  介紹了漏洞掃描系統(tǒng)研究現(xiàn)狀及基于WINDOWS平臺(tái)的掃描系統(tǒng)的設(shè)計(jì)目標(biāo),并對(duì)本課題的研究

44、意義、本論文的目的、內(nèi)容以及本文所做的工作進(jìn)行了簡(jiǎn)要介紹,分析了基于網(wǎng)絡(luò)的漏洞掃描系統(tǒng)設(shè)計(jì)的特點(diǎn)和任務(wù)。 </p><p>  第二章:應(yīng)用系統(tǒng)開發(fā)工具</p><p>  概要的介紹了VC++集成環(huán)境以及C++語言的優(yōu)勢(shì)和特點(diǎn)。</p><p>  第三章:漏洞掃描原理及需求分析</p><p>  分析了基于網(wǎng)絡(luò)的漏洞掃描系統(tǒng)的相關(guān)技術(shù),

45、并根據(jù)需求對(duì)系統(tǒng)功能模塊進(jìn)行了劃分和細(xì)化。</p><p>  第四章:系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  根據(jù)第三章的設(shè)計(jì)結(jié)果利用VC集成環(huán)境進(jìn)行了具體的應(yīng)用程序設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  第五章:系統(tǒng)功能測(cè)試</p><p>  對(duì)系統(tǒng)的主要功能作出了測(cè)試和分析。</p><p>  結(jié)束語部分介紹了設(shè)計(jì)

46、體會(huì)和編程體會(huì),并指出了系統(tǒng)設(shè)計(jì)中的不足和改進(jìn)的方法。</p><p><b>  應(yīng)用系統(tǒng)開發(fā)工具</b></p><p>  VC++環(huán)境與C++語言基礎(chǔ)</p><p>  Visual C++是由微軟開發(fā)的可視化集成開發(fā)環(huán)境(IDE)Visual Studio中重要的一員,其編程規(guī)范符合ANSI C/C++標(biāo)準(zhǔn),而其集成了微軟開發(fā)的基礎(chǔ)

47、類庫(MFC,即Microsoft Foundation Classes)以及可視化開發(fā)環(huán)境,VC提供了微軟Windows操作系統(tǒng)的大量API,從而使得開發(fā)效率較其他語言大大提高。但是使用其MFC編寫的程序只能運(yùn)行在Windows操作系統(tǒng)下。</p><p>  C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編

48、寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。而C++語言是對(duì)C語言語法及功能的全部繼承與擴(kuò)展,C表示“C語言”;加號(hào)(+)表示語法及功能的擴(kuò)展;第二個(gè)加號(hào)對(duì)應(yīng)的英文單詞是plus.因此,C++程序又叫C Plus Plus程序,簡(jiǎn)稱CPP程序。</p><p>  VC++環(huán)境的特點(diǎn)及優(yōu)勢(shì)</p><p>  Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年M

49、icrosoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。Visual C++6.0不僅是一個(gè)C++編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。</p><p>  VC++主要的特點(diǎn)在于它的可視化操作環(huán)境,MFC以及它提供的類庫。它

50、的優(yōu)勢(shì)集中體現(xiàn)在:</p><p>  MFC中封裝了大部分Windows API函數(shù)和Windows控件,它包含的功能涉及到整個(gè)Windows操作系統(tǒng)。</p><p>  MFC不僅給用戶提供了Windows圖形環(huán)境下應(yīng)用程序的框架,而且還提供了創(chuàng)建應(yīng)用程序的組件。</p><p>  使用VC++提供的高度可視化的應(yīng)用程序開發(fā)工具和MFC類庫,可使應(yīng)用程序開發(fā)

51、變得更簡(jiǎn)單。</p><p>  MFC提供的類庫是高度抽象的程序設(shè)計(jì),它使得程序員的主要精力不用放在程序設(shè)計(jì)的具體細(xì)節(jié)實(shí)現(xiàn)上,而放在程序的功能擴(kuò)展上面。</p><p>  C++語言的特點(diǎn)和優(yōu)勢(shì)</p><p>  C++是從C語言發(fā)展而來的,由于C語言存在一些缺陷,例如類型檢查機(jī)制相對(duì)較弱、缺少支持代碼重用的語言結(jié)構(gòu)等,而產(chǎn)生的C++。C++支持面向?qū)ο蟮某绦?/p>

52、設(shè)計(jì)方法,特別適合于中型和大型的軟件開發(fā)項(xiàng)目,從開發(fā)時(shí)間、費(fèi)用到軟件的重用性、可擴(kuò)充性、可維護(hù)性和可靠性等方面,C++均具有很大的優(yōu)越性。</p><p>  C++設(shè)計(jì)成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計(jì)語言。 </p><p>  C++設(shè)計(jì)成直接的和廣泛的支援多種程序設(shè)計(jì)風(fēng)格(程序化程序設(shè)計(jì)、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì))。 </p><

53、p>  C++設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯(cuò)誤。 </p><p>  C++設(shè)計(jì)成盡可能與C兼容,籍此提供一個(gè)從C到C++的平滑過渡。 </p><p>  C++避免平臺(tái)限定或沒有普遍用途的特性。 </p><p>  C++不使用會(huì)帶來額外開銷的特性。 </p><p>  C++設(shè)計(jì)成無需復(fù)雜的程序設(shè)

54、計(jì)環(huán)境。</p><p>  出于保證語言的簡(jiǎn)潔和運(yùn)行高效等方面的考慮,C++的很多特性都是以庫(如STL)或其他的形式提供的,而沒有直接添加到語言本身里。</p><p>  VC++其他重要技術(shù)簡(jiǎn)介</p><p><b>  winsock編程</b></p><p>  Windows Sockets是Windo

55、ws下得到廣泛應(yīng)用的、開放的、支持多種協(xié)議的網(wǎng)絡(luò)編程接口。所有的Windows Sockets實(shí)現(xiàn)都支持流套接口和數(shù)據(jù)報(bào)套接口. 應(yīng)用程序調(diào)用Windows Sockets的API實(shí)現(xiàn)相互之間的通訊。Windows Sockets又利用下層的網(wǎng)絡(luò)通訊協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作。它們之間的關(guān)系如圖2.1。</p><p>  圖2-1 應(yīng)用程序與Windows Sockets關(guān)系圖</p>

56、<p>  通信的基礎(chǔ)是套接口(Socket),一個(gè)套接口是通訊的一端。在這一端上你可以找到與其對(duì)應(yīng)的一個(gè)名字。一個(gè)正在被使用的套接口都有它的類型和與其相關(guān)的進(jìn)程。套接口存在于通訊域中。通訊域是為了處理一般的線程通過套接口通訊而引進(jìn)的一種抽象概念。套接口通常和同一個(gè)域中的套接口交換數(shù)據(jù)(數(shù)據(jù)交換也可能穿越域的界限,但這時(shí)一定要執(zhí)行某種解釋程序)。Windows Sockets規(guī)范支持單一的通訊域,即Internet域。各種

57、進(jìn)程使用這個(gè)域互相之間用Internet協(xié)議族來進(jìn)行通訊。用戶目前可以使用兩種套接口,即流套接口和數(shù)據(jù)報(bào)套接口。流套接口提供了雙向的,有序的,無重復(fù)并且無記錄邊界的數(shù)據(jù)流服務(wù)。數(shù)據(jù)報(bào)套接口支持雙向的數(shù)據(jù)流,但并不保證是可靠,有序,無重復(fù)的。</p><p>  WinSock程序設(shè)計(jì)流程[10]:</p><p>  創(chuàng)建:創(chuàng)建套接字——socket().</p><p

58、>  SOCKET socket( int af , int type , int protocol )</p><p>  套接字可以說是Winsock通訊的核心.Winsock通訊的所有數(shù)據(jù)傳輸,都是通過套接字來完成的,套接字包含了兩個(gè)信息,一個(gè)是IP地址,一個(gè)是Port端口號(hào),使用這兩個(gè)信息,我們就可以確定網(wǎng)絡(luò)中的任何一個(gè)通訊節(jié)點(diǎn)。</p><p>  其中type參數(shù)可以選擇

59、:SOCK_STREAM、SOCK_DGRAM 和SOCK_RAW三種類型套接字。</p><p>  流式套接字(SOCK_STREAM)(與面向連接的編程模型對(duì)應(yīng))</p><p>  數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM)(與面向無連接的編程模型對(duì)應(yīng))</p><p>  原始式套接字(SOCK_RAW)</p><p>  該接口允許

60、對(duì)較低層協(xié)議,如IP、ICMP直接訪問。常用于檢驗(yàn)新的協(xié)議實(shí)現(xiàn)或訪問現(xiàn)有服務(wù)中配置的新設(shè)備。</p><p>  綁定:指定本地地址——bind():</p><p>  int bind(SOCKET s , const struct sockaddr FAR* name , int namelen ) ;</p><p>  struct sockaddr_in

61、</p><p><b>  {</b></p><p>  short sin_family; //AF_INET</p><p>  u_short sin_port; //16位端口號(hào),網(wǎng)絡(luò)字節(jié)順序</p>&l

62、t;p>  struct in_addr sin_addr; //32位IP地址,網(wǎng)絡(luò)字節(jié)順序</p><p>  char sin_zero[8];//保留</p><p><b>  }</b></p><p>  sockaddr_in包含了我們需要建立連接的本地的地址。包括地址族、ip和端口信息,sin_

63、family字段我們必須把他設(shè)為AF_INET,這是告訴Winsock使用的是IP地址族,sin_prot  就是我們要用來通訊的端口號(hào),sin_addr 就是我們要用來通訊的ip地址信息。</p><p>  監(jiān)聽:當(dāng)綁定完成之后,服務(wù)器端必須建立一個(gè)監(jiān)聽的隊(duì)列來接收客戶端的連接請(qǐng)求.</p><p>  int listen( SOCKET s ,int backl

64、og );</p><p>  這個(gè)函數(shù)可以讓我們把套接字轉(zhuǎn)成監(jiān)聽模式,并準(zhǔn)備接受連接請(qǐng)求。</p><p>  接受連接請(qǐng)求:如果客戶端有了連接請(qǐng)求,偵聽方還必須使用</p><p>  SOCKET accept( SOCKET s , struct sockaddr FAR* addr , int FAR* addrlen );</p><

65、p>  來接受客戶端的請(qǐng)求?,F(xiàn)在我們基本上已經(jīng)完成了一個(gè)服務(wù)器的建立。</p><p>  連接:客戶端的建立的流程則是初始化WinSock ,然后創(chuàng)建socket套接字,再使用</p><p>  int connect( SOCKET s , const struct sockaddr FAR* name , int namelen ) ;</p><p>

66、;<b>  來連接服務(wù)端.</b></p><p>  關(guān)閉:關(guān)閉套接字——closesocket()</p><p>  int shutdown ( SOCKET s, int how );</p><p>  int closesocket(SOCKET s); </p><p>  其中,shutdown用來

67、中斷連接,closesocket則用來關(guān)閉套接字。</p><p><b>  多線程技術(shù)</b></p><p>  多線程是為了使得多個(gè)線程并行的工作以完成多項(xiàng)任務(wù),以提高系統(tǒng)的效率。線程是在同一時(shí)間需要完成多項(xiàng)任務(wù)的時(shí)候被實(shí)現(xiàn)的。Win32 提供了一系列的API函數(shù)來完成線程的創(chuàng)建、掛起、恢復(fù)、終結(jié)以及通信等工作。</p><p&g

68、t;  下面將選取本文應(yīng)用的一些重要函數(shù)進(jìn)行說明[11]。 </p><p>  CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,</p><p>  LPVOID pParam,</p><p>  int nPriority = THREAD_PRIORITY_NORMAL,</p

69、><p>  UINT nStackSize = 0,</p><p>  DWORD dwCreateFlags = 0,</p><p>  LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL</p><p>  );//用于創(chuàng)建工作者線程</p><p>  返回值: 一個(gè)指向新

70、線程的線程對(duì)象</p><p>  pfnThreadProc : 線程的入口函數(shù),聲明一定要如下: UINT MyThreadFunction( LPVOID pParam );</p><p>  pParam : 傳遞入線程的參數(shù),注意它的類型為:LPVOID,所以我們可以傳遞一個(gè)結(jié)構(gòu)體入線程.</p><p>  nPriority : 線程的優(yōu)先級(jí),一般設(shè)

71、置為 0 .讓它和主線程具有共同的優(yōu)先級(jí).</p><p>  nStackSize : 指定新創(chuàng)建的線程的棧的大小.如果為 0,新創(chuàng)建的線程具有和主線程一樣的大小的棧</p><p>  dwCreateFlags : 指定創(chuàng)建線程以后,線程有怎么樣的標(biāo)志.可以指定兩個(gè)值:</p><p>  CREATE_SUSPENDED : 線程創(chuàng)建以后,會(huì)處于掛起狀態(tài),真

72、到調(diào)用: ResumeThread</p><p>  0 : 創(chuàng)建線程后就開始運(yùn)行.</p><p>  lpSecurityAttrs : 指向一個(gè) SECURITY_ATTRIBUTES 的結(jié)構(gòu)體,用它來標(biāo)志新創(chuàng)建線程的安全性.如果為 NULL , </p><p>  那么新創(chuàng)建的線程就具有和主線程一樣的安全性.</p><p>  

73、BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);</p><p>  一般情況下,線程運(yùn)行結(jié)束之后,線程函數(shù)正常返回,但是應(yīng)用程序可以調(diào)用TerminateThread強(qiáng)行終止某一線程的執(zhí)行。各參數(shù)含義如下:</p><p>  hThread:將被終結(jié)的線程的句柄; </p>

74、<p>  dwExitCode:用于指定線程的退出碼。 </p><p>  使用TerminateThread()終止某個(gè)線程的執(zhí)行是不安全的,可能會(huì)引起系統(tǒng)不穩(wěn)定;雖然該函數(shù)立即終止線程的執(zhí)行,但并不釋放線程所占用的資源。因此,一般不建議使用該函數(shù)。 </p><p>  DWORD WaitForMultipleObjects(DWORD nCoun

75、t,</p><p>  const HANDLE* lpHandles,</p><p>  BOOL bWaitAll,</p><p>  DWORD dwMilliseconds</p><p><b>  );</b></p><p>  當(dāng)WaitForMultipleObjects等

76、到多個(gè)內(nèi)核對(duì)象的時(shí)候,如果它的bWaitAll 參數(shù)設(shè)置為false。其返回值減去WAIT_OBJECT_0 就是參數(shù)lpHandles數(shù)組的序號(hào)。如果同時(shí)有多個(gè)內(nèi)核對(duì)象被觸發(fā),這個(gè)函數(shù)返回的只是其中序號(hào)最小的那個(gè)。如果為TRUE 則等待所有信號(hào)量有效在往下執(zhí)行。(FALSE 當(dāng)有其中一個(gè)信號(hào)量有效時(shí)就向下執(zhí)行)</p><p>  漏洞掃描原理及需求分析</p><p><b>

77、;  漏洞和掃描</b></p><p><b>  漏洞的分類</b></p><p>  漏洞是在硬件、軟件、協(xié)議的具體實(shí)現(xiàn)或系統(tǒng)安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權(quán)的情況下訪問或破壞系統(tǒng)。</p><p>  (1)、軟件編寫存在bug</p><p>  無論是服務(wù)器程序、客戶端軟件還是

78、操作系統(tǒng),只要是用代碼編寫的東西,都會(huì)存在不同程度的bug。其中最常見的就是緩沖區(qū)溢出,是指入侵者在程序的有關(guān)輸入項(xiàng)目中了輸入了超過規(guī)定長(zhǎng)度的字符串,超過的部分通常就是入侵者想要執(zhí)行的攻擊代碼,而程序編寫者又沒有進(jìn)行輸入長(zhǎng)度的檢查,最終導(dǎo)致多出的攻擊代碼占據(jù)了輸入緩沖區(qū)后的內(nèi)存而執(zhí)行。 </p><p>  (2)、系統(tǒng)配置不當(dāng)</p><p><b>  默認(rèn)配置的不足<

79、/b></p><p>  管理員懶散:懶散的表現(xiàn)之一就是系統(tǒng)安裝后保持管理員口令的空值,而且隨后不進(jìn)行修改。</p><p>  臨時(shí)端口:有時(shí)候?yàn)榱藴y(cè)試之用,管理員會(huì)在機(jī)器上打開一個(gè)臨時(shí)端口,但測(cè)試完后卻忘記了禁止它,這樣就會(huì)給入侵者有洞可尋、有漏可鉆?! ?</p><p>  (3)、口令失竊:口令保管部當(dāng)或過于簡(jiǎn)單。   </p>&l

80、t;p>  (4)、設(shè)計(jì)存在缺陷</p><p>  (5)、TCP/IP協(xié)議的缺陷:TCP/IP協(xié)議現(xiàn)在已經(jīng)廣為應(yīng)用、但是它設(shè)計(jì)時(shí)卻是在入侵者猖狂肆虐的今天之很早以前設(shè)計(jì)出來的。因此存在許多不足,造成安全漏洞在所難免。</p><p><b>  漏洞的特征</b></p><p> ?。?).漏洞問題是與時(shí)間緊密相關(guān)的。</p&

81、gt;<p>  一個(gè)系統(tǒng)從發(fā)布的那一天起,隨著用戶的深入使用,系統(tǒng)中存在的漏洞會(huì)被不斷暴露出來,這些早先被發(fā)現(xiàn)的漏洞也會(huì)不斷被系統(tǒng)供應(yīng)商發(fā)布的補(bǔ)丁軟件修補(bǔ),或在以后發(fā)布的新版系統(tǒng)中得以糾正。而在新版系統(tǒng)糾正了舊版本中具有漏洞的同時(shí),也會(huì)引入一些新的漏洞和錯(cuò)誤。因而隨著時(shí)間的推移,舊的漏洞會(huì)不斷消失,新的漏洞會(huì)不斷出現(xiàn)。漏洞問題也會(huì)長(zhǎng)期存在。</p><p> ?。?).系統(tǒng)安全漏洞與系統(tǒng)攻擊活動(dòng)之

82、間有緊密的關(guān)系</p><p>  系統(tǒng)安全漏洞是在系統(tǒng)具體實(shí)現(xiàn)和具體使用中產(chǎn)生的錯(cuò)誤,但并不是系統(tǒng)中存在的錯(cuò)誤都是安全漏洞。只有能威脅到系統(tǒng)安全的錯(cuò)誤才是漏洞。許多錯(cuò)誤在通常情況下并不會(huì)對(duì)系統(tǒng)安全造成危害,只有被人在某些條件下故意使用時(shí)才會(huì)影響系統(tǒng)安全。</p><p>  漏洞雖然可能最初就存在于系統(tǒng)當(dāng)中,但一個(gè)漏洞并不是自己出現(xiàn)的,必須要有人發(fā)現(xiàn)。在實(shí)際使用中,用戶會(huì)發(fā)現(xiàn)系統(tǒng)中存在錯(cuò)

83、誤,而入侵者會(huì)有意利用其中的某些錯(cuò)誤并使其成為威脅系統(tǒng)安全的工具,這時(shí)人們會(huì)認(rèn)識(shí)到這個(gè)錯(cuò)誤是一個(gè)系統(tǒng)安全漏洞。系統(tǒng)供應(yīng)商會(huì)盡快發(fā)布針對(duì)這個(gè)漏洞的補(bǔ)丁程序,糾正這個(gè)錯(cuò)誤。這就是系統(tǒng)安全漏洞從被發(fā)現(xiàn)到被糾正的一般過程。</p><p><b>  漏洞的危害</b></p><p>  漏洞,簡(jiǎn)而言之,就是能被黑客利用的安全隱患,是系統(tǒng)脆弱性的表現(xiàn)[1]。</p&g

84、t;<p>  美國FBI/SANS協(xié)會(huì)2005年第二季度公布的數(shù)據(jù)顯示,第二季度度新增的安全漏洞超過442個(gè)。其中包括原始漏洞的新變種,如新變種蟲洞攻擊[6][9]。比去年增長(zhǎng)了20%。進(jìn)入SANS(IT安全與研究組織)協(xié)會(huì)漏洞統(tǒng)計(jì)榜的漏洞需要大規(guī)模的影響用戶[2],同時(shí)這些漏洞還必須能夠被攻擊者利用。</p><p>  美國計(jì)算機(jī)安全公司Symantec在兩年一次的報(bào)告中指出,2005年上半年

85、,來自各個(gè)方面所公布的計(jì)算機(jī)軟件漏洞多達(dá)1862個(gè)。與2004年下半年相比,漏洞數(shù)量增長(zhǎng)了31%;比去年同期增長(zhǎng)了46&。漏洞中97%被認(rèn)定影響嚴(yán)重,并且73%容易被黑客利用[3-5]。</p><p>  漏洞是系統(tǒng)在設(shè)計(jì)時(shí)未考慮周全,,當(dāng)程序遇到一個(gè)看似合理,但實(shí)際無法處理的問題時(shí),引發(fā)的不可預(yù)見的錯(cuò)誤,是黑客攻擊計(jì)算機(jī)所利用的通道,系統(tǒng)漏洞又稱安全缺陷,對(duì)用戶造成的不良后果表現(xiàn)如下:</p&g

86、t;<p>  遠(yuǎn)程獲得你系統(tǒng)的權(quán)限。</p><p><b>  信息的泄露。</b></p><p>  對(duì)用戶操作造成不便,如不明原因的死機(jī)和丟失文件等。</p><p><b>  漏洞掃描</b></p><p>  漏洞掃描時(shí)通過一定的技術(shù)手段主動(dòng)去發(fā)現(xiàn)系統(tǒng)的安全隱患,保證

87、系統(tǒng)的安全性。</p><p>  現(xiàn)有的漏洞掃描技術(shù)有:</p><p><b>  源代碼掃描</b></p><p><b>  反匯編掃描</b></p><p><b>  滲透分析</b></p><p><b>  環(huán)境錯(cuò)誤注入&

88、lt;/b></p><p>  本文采用的漏洞掃描技術(shù)簡(jiǎn)介</p><p>  檢測(cè)服務(wù)端口開放與否</p><p>  掃描器通過選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息。(比如:是否能用匿名登陸!是否有可寫的FTP目錄,是否能用TELNET等)這是最基本,也是準(zhǔn)確率最低的一種方式

89、。常用的端口檢測(cè)方法有:TCP connect() 掃描、TCP SYN掃描、TCP FIN 掃描、IP段掃描、TCP 反向 ident掃描、UDP ICMP端口不能到達(dá)掃描等。本文采用的方法是TCP connect() 掃描。</p><p>  獲取服務(wù)軟件的Banner信息</p><p>  我們通過客戶端與服務(wù)軟件進(jìn)行連接的過程中,有時(shí)服務(wù)進(jìn)程會(huì)返回相關(guān)的Banner信息,這些信

90、息里面包含了服務(wù)軟件的版本等內(nèi)容。通過Banner信息來判斷服務(wù)軟件是否存在溢出漏洞是一種常用的方式,也有一定的準(zhǔn)確率。因?yàn)楹芏嘬浖?jí)之后以前的漏洞就不存在了,而升級(jí)之前的版本用戶可能又疏于打漏洞補(bǔ)丁。因此可能存在漏洞。</p><p><b>  錯(cuò)誤配置的檢測(cè)</b></p><p>  由于管理員的知識(shí)有限,對(duì)系統(tǒng)的不熟悉,安全意識(shí)不強(qiáng)以及疏忽,都會(huì)在系統(tǒng)配置

91、中留下漏洞,如常見的:給FTP服務(wù)器上的一般用戶寫權(quán)限。使入侵者能從系統(tǒng)中竊取任何有價(jià)值的文件。它們也可向系統(tǒng)中寫入后門程序(典型的如webshell)。</p><p>  我們可以先向服務(wù)器發(fā)出某種請(qǐng)求,然后接受服務(wù)器返回的信息,如果返回的結(jié)果具備某種特性(如函數(shù)的返回值中包含“200 OK”),我們就可以認(rèn)為系統(tǒng)中存在漏洞,反之則系統(tǒng)是安全的。</p><p><b>  

92、簡(jiǎn)單密碼探測(cè)</b></p><p>  許多系統(tǒng)在安裝之后,都會(huì)提供默認(rèn)用戶名和密碼,像phpmyadmin默認(rèn)的用戶名為root 密碼為空。當(dāng)管理員忘記修改這些密碼或由于某些原因直接使用這些紅戶名和密碼的情況下,就會(huì)留下安全隱患。而一些管理員為了使用方便,常常設(shè)置一些非常簡(jiǎn)單常用的用戶名和密碼,比如admin,root。密碼為12345等。這樣,只要簡(jiǎn)單的嘗試,就可以取得管理員的權(quán)限。<

93、/p><p>  簡(jiǎn)單密碼探測(cè)就是利用探測(cè)軟件不斷的向目標(biāo)發(fā)出請(qǐng)求,根據(jù)響應(yīng)來判斷探測(cè)成功與否。 </p><p>  探測(cè)一般有兩種方式。一是對(duì)同一用戶名嘗試不同的密碼,二是對(duì)不同的用戶嘗試相同的密碼。第二種方法更能有效的防止賬戶鎖定。 </p><p>  對(duì)于用戶名和密碼生成有兩種方式,一是使用既存的字典,二是程序根據(jù)使用者給定的用戶名或密碼組合規(guī)則不斷生成。 本

94、文采用的就是既存字典的方法進(jìn)行模擬攻擊探測(cè)。</p><p><b>  網(wǎng)絡(luò)協(xié)議漏洞</b></p><p>  由于協(xié)議的開放性,使得網(wǎng)絡(luò)協(xié)議本身存在著很多漏洞。TCP/IP協(xié)議不提供安全保證,網(wǎng)絡(luò)協(xié)議的開放性方便了網(wǎng)絡(luò)互連,同時(shí)也為非法入侵者提供了方便。非法入侵者可以冒充合法用戶進(jìn)行破壞,篡改信息,竊取報(bào)文內(nèi)容。對(duì)與網(wǎng)絡(luò)傳輸,許多數(shù)據(jù)信息是明文傳輸,明文傳輸既提

95、供了方便,也為入侵者提供了竊取條件。入侵者可以利用網(wǎng)絡(luò)分析工具實(shí)時(shí)竊取到網(wǎng)絡(luò)上的各種信息,甚至可以獲得主機(jī)系統(tǒng)網(wǎng)絡(luò)設(shè)備的超級(jí)用戶口令,從而輕易地進(jìn)入系統(tǒng)。</p><p>  網(wǎng)絡(luò)協(xié)議漏洞的例子很多,比如在TCP/IP上發(fā)現(xiàn)了l00多種安全弱點(diǎn)或漏洞。如IP地址欺騙、TCP序號(hào)襲擊、ICMP襲擊、IP碎片襲擊和UDP欺騙等,MODEM也很容易被攻破。在幾乎所有的UNIX實(shí)現(xiàn)的協(xié)議族中,存在一個(gè)久為人知的漏洞,這個(gè)

96、漏洞使得竊取TCP連接成為可能。當(dāng)TCP連接正在建立時(shí),服務(wù)器用一個(gè)含有初始序列號(hào)的回答報(bào)文來確認(rèn)用戶請(qǐng)求。這個(gè)序列號(hào)無特殊要求,只要是唯一的就可以了。客戶端收到回答后,再對(duì)其確認(rèn)一次,連接便建立了。TCP協(xié)議規(guī)范要求每秒更換序列號(hào)25萬次。但大多數(shù)的UNIX的實(shí)現(xiàn)更換頻率遠(yuǎn)小于此,而且下一個(gè)更換的數(shù)字往往是預(yù)知的。正是這種可預(yù)知服務(wù)器初始序列號(hào)的能力使得攻擊可以完成,最安全的解決方法是用加密法產(chǎn)生初始序列號(hào)。</p>&

97、lt;p><b>  系統(tǒng)的需求分析</b></p><p>  隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和普及應(yīng)用,網(wǎng)絡(luò)安全已日漸成為人們關(guān)注的焦點(diǎn)問題之一。安全掃描是增強(qiáng)系統(tǒng)安全性的重要措施之一,它能夠有效地預(yù)先評(píng)估和分析系統(tǒng)中的安全問題。漏洞掃描系統(tǒng)是用來自動(dòng)檢測(cè)遠(yuǎn)程或本地主機(jī)的安全漏洞的程序(安全漏洞通常指硬件、軟件、協(xié)議的具體實(shí)現(xiàn)或系統(tǒng)安全策略方面存在的安全缺陷)。網(wǎng)絡(luò)漏洞掃描系統(tǒng)

98、是指通過網(wǎng)絡(luò)遠(yuǎn)程檢測(cè)目標(biāo)和主機(jī)系統(tǒng)漏洞的程序,它對(duì)網(wǎng)絡(luò)系統(tǒng)和設(shè)備進(jìn)行安全漏洞檢測(cè)和分析,從而發(fā)現(xiàn)可能被入侵者非法利用的漏洞。</p><p><b>  系統(tǒng)的功能描述</b></p><p>  漏洞掃描系統(tǒng)包括端口掃描、FTP漏洞掃描、SMTP漏洞掃描、FINGER漏洞掃描、CGI漏洞掃描。具體描述如下:</p><p><b>

99、 ?。?)端口掃描</b></p><p>  檢測(cè)是否能獲得指定目標(biāo)的IP地址</p><p>  檢測(cè)是否能與服務(wù)器建立連接;</p><p>  檢測(cè)服務(wù)器特定端口開放與否;</p><p>  給出服務(wù)器開放的端口列表。</p><p> ?。?)FTP漏洞掃描</p><p&g

100、t;  檢測(cè)目標(biāo)服務(wù)器是否開放FTP服務(wù);</p><p>  獲取FTP服務(wù)器的Banner信息;</p><p><b>  檢測(cè)是否存在漏洞;</b></p><p><b>  給出掃描結(jié)果。</b></p><p> ?。?)SMTP漏洞掃描</p><p>  檢

101、測(cè)目標(biāo)服務(wù)器是否開放SMTP服務(wù);</p><p>  獲取目標(biāo)SMTP服務(wù)器的Banner信息;</p><p><b>  檢測(cè)是否存在漏洞;</b></p><p><b>  給出掃描結(jié)果。</b></p><p> ?。?)FINGER漏洞掃描</p><p>  

102、檢測(cè)目標(biāo)服務(wù)器是否開放FINGER服務(wù);</p><p><b>  檢測(cè)是否存在漏洞;</b></p><p><b>  給出掃描結(jié)果。</b></p><p>  (5)CGI漏洞掃描</p><p>  檢測(cè)目標(biāo)是否開放WWW服務(wù);</p><p>  獲取目標(biāo)服務(wù)器

103、的Banner信息;</p><p><b>  檢測(cè)是否存在漏洞;</b></p><p><b>  給出掃描結(jié)果。</b></p><p><b>  系統(tǒng)流程分析</b></p><p>  要開始漏洞掃描,首先要輸入掃描目標(biāo)的地址,并選擇所要掃描的掃描選項(xiàng),其中包括:

104、</p><p><b>  FTP漏洞掃描;</b></p><p><b>  SMTP漏洞掃描;</b></p><p>  FINGER漏洞掃描;</p><p><b>  CGI漏洞掃描;</b></p><p>  系統(tǒng)首先檢測(cè)目標(biāo)地址是否

105、可到達(dá),如果可以到達(dá),則獲取目標(biāo)的IP地址,并輸出所選擇的掃描選項(xiàng)和目標(biāo)的IP地址。</p><p>  對(duì)目標(biāo)主機(jī)的端口進(jìn)行掃描,并給出掃描結(jié)果(即目標(biāo)主機(jī)開放的端口列表)。</p><p> ?。?)然后檢測(cè)是否選擇了FTP漏洞掃描選項(xiàng),如果選擇了此選項(xiàng),則檢測(cè)目標(biāo)主機(jī)是否開放了FTP服務(wù),如果未開放則跳過,否則獲取目標(biāo)主機(jī)的Banner信息,并對(duì)其FTP漏洞進(jìn)行掃描,給出掃描結(jié)果。&

106、lt;/p><p>  如果未選擇,則跳過。</p><p> ?。?)檢測(cè)是否選擇了SMTP漏洞掃描選項(xiàng),如果選擇了此選項(xiàng),則檢測(cè)目標(biāo)主機(jī)是否開放了SMTP服務(wù),如果未開放則跳過,否則獲取目標(biāo)主機(jī)的Banner信息,并對(duì)其SMTP漏洞進(jìn)行掃描,給出掃描結(jié)果。</p><p>  如果未選擇,則跳過。</p><p>  (3)檢測(cè)是否選擇了FI

107、NGER漏洞掃描選項(xiàng),如果選擇了此選項(xiàng),則檢測(cè)目標(biāo)主機(jī)是否開放了FINGER服務(wù),如果未開放則跳過,否則對(duì)其SMTP漏洞進(jìn)行掃描,給出掃描結(jié)果。</p><p>  如果未選擇,則跳過。</p><p> ?。?)檢測(cè)是否選擇了CGI漏洞掃描選項(xiàng),如果選擇了此選項(xiàng),則檢測(cè)目標(biāo)主機(jī)是否開放了WWW服務(wù),如果未開放則跳過,否則獲取目標(biāo)主機(jī)的Banner信息,并對(duì)其CGI漏洞進(jìn)行掃描,給出掃描結(jié)

108、果。</p><p>  如果未選擇,則跳過。</p><p>  到此,漏洞掃描程序結(jié)束。</p><p>  圖3-1系統(tǒng)流程分析圖</p><p><b>  系統(tǒng)功能模塊劃分</b></p><p>  圖3-2 系統(tǒng)功能模塊圖</p><p>  其中總掃描輔助模

109、塊負(fù)責(zé)整個(gè)程序的運(yùn)行。當(dāng)漏洞掃描系統(tǒng)開始運(yùn)行時(shí),總掃描輔助模塊負(fù)責(zé)調(diào)用其他模塊進(jìn)行端口掃描和各種漏洞的掃描。</p><p>  其中CGI漏洞掃描模塊通過調(diào)用CGI請(qǐng)求模塊后接受返回信息并完成掃描功能。</p><p>  CGI請(qǐng)求模塊負(fù)責(zé)向目標(biāo)服務(wù)器發(fā)送CGI請(qǐng)求。</p><p><b>  系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p>

110、;<p><b>  系統(tǒng)的主界面</b></p><p>  系統(tǒng)的主界面如圖4.1所示:</p><p>  圖4-1 系統(tǒng)主界面</p><p>  系統(tǒng)的主界面顯示了系統(tǒng)的所用功能,其中包括對(duì)掃描地址的輸入(默認(rèn)為localhost),掃描選項(xiàng)的選擇(默認(rèn)選擇FTP、SMTP、CGI),以及所有操作。</p>

111、<p>  對(duì)于掃描結(jié)果,實(shí)時(shí)輸出在右部的文本編輯框中。</p><p>  整個(gè)系統(tǒng)簡(jiǎn)單、清晰、美觀。</p><p>  操作極其方便,所有功能一目了然。</p><p><b>  系統(tǒng)的主要功能模塊</b></p><p>  系統(tǒng)的主要功能模塊包括:端口掃描模塊,F(xiàn)TP漏洞掃描模塊,SMTP漏洞掃描

112、模塊,F(xiàn)INGER漏洞掃描模塊,CGI漏洞掃描模塊。</p><p><b>  端口掃描模塊</b></p><p>  端口掃描模塊主要功能如下:</p><p>  檢測(cè)是否能獲得指定目標(biāo)的IP地址</p><p>  檢測(cè)是否能與服務(wù)器建立連接;</p><p>  檢測(cè)服務(wù)器特定端口開放

113、與否;</p><p>  給出服務(wù)器開放的端口列表。</p><p><b>  端口掃描原理:</b></p><p>  掃描器通過選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息(比如:是否能用匿名登陸!是否有可寫的FTP目錄等。)</p><p&g

114、t;<b>  端口掃描方法介紹:</b></p><p> ?。?)TCP connect() 掃描 </p><p>  這是最基本的TCP掃描。操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用,用來與每一個(gè)感興趣的目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么connect()就能成功。否則,這個(gè)端口是不能用的,即沒有提供服務(wù)。</p><p&

115、gt;  (2)TCP SYN掃描 </p><p>  這種技術(shù)通常認(rèn)為是“半開放”掃描,這是因?yàn)閽呙璩绦虿槐匾蜷_一個(gè)完全的TCP連接。掃描程序發(fā)送的是一個(gè)SYN數(shù)據(jù)包,好象準(zhǔn)備打開一個(gè)實(shí)際的連接并等待反應(yīng)一樣(參考TCP的三次握手建立一個(gè)TCP連接的過程)。一個(gè)SYN|ACK的返回信息表示端口處于偵聽狀態(tài)。一個(gè)RST返回,表示端口沒有處于偵聽?wèi)B(tài)。如果收到一個(gè)SYN|ACK,則掃描程序必須再發(fā)送一個(gè)RST信號(hào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論