CC攻擊的種類有三種,直接攻擊,代理攻擊,殭屍網路攻擊,直接攻擊主要針對有重要缺陷的 WEB 應用程式,一般說來是程式寫的有問題的時候才會出現這種情況,比較少見。殭屍網路攻擊有點類似於 DDOS 攻擊了,從 WEB 應用程式層面上已經無法防禦,所以代理攻擊是CC 攻擊者一般會操作一批代理伺服器,比方說 100 個代理,然後每個代理同時發出 10 個請求,這樣 WEB 伺服器同時收到 1000 個併發請求的,並且在發出請求後,立刻斷掉與代理的連線,避免代理返回的資料將本身的頻寬堵死,而不能發動再次請求,這時 WEB 伺服器會將響應這些請求的程序進行佇列,資料庫伺服器也同樣如此,這樣一來,正常請求將會被排在很後被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊,今天前面卻插了一千個人,那麼輪到你的機會就很小很小了,這時就出現頁面開啟極其緩慢或者白屏。
一、 CC攻擊的原理:
CC攻擊的原理就是攻擊者控制某些主機不停地發大量資料包給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。CC主要是用來消耗伺服器資源的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,開啟網頁就慢了,CC就是模擬多個使用者(多少執行緒就是多少使用者)不停地進行訪問那些需要大量資料操作(就是需要大量CPU時間)的頁面,造成伺服器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連線直至就網路擁塞,正常的訪問被中止。
二、CC攻擊的種類:
CC攻擊的種類有三種,直接攻擊,代理攻擊,殭屍網路攻擊,直接攻擊主要針對有重要缺陷的 WEB 應用程式,一般說來是程式寫的有問題的時候才會出現這種情況,比較少見。殭屍網路攻擊有點類似於 DDOS 攻擊了,從 WEB 應用程式層面上已經無法防禦,所以代理攻擊是CC 攻擊者一般會操作一批代理伺服器,比方說 100 個代理,然後每個代理同時發出 10 個請求,這樣 WEB 伺服器同時收到 1000 個併發請求的,並且在發出請求後,立刻斷掉與代理的連線,避免代理返回的資料將本身的頻寬堵死,而不能發動再次請求,這時 WEB 伺服器會將響應這些請求的程序進行佇列,資料庫伺服器也同樣如此,這樣一來,正常請求將會被排在很後被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊,今天前面卻插了一千個人,那麼輪到你的機會就很小很小了,這時就出現頁面開啟極其緩慢或者白屏。
三、CC攻擊與DDOS的區別
1) 什麼是DDoS攻擊?
DDoS攻擊就是分散式的拒絕服務攻擊,DDoS攻擊手段是在傳統的DoS攻擊基礎之上產生的一類攻擊方式。單一的DoS攻擊一般是採用一對一方式的,隨著計算機與網路技術的發展,DoS攻擊的困難程度加大了。於是就產生了DDoS攻擊,它的原理就很簡單:計算機與網路的處理能力加大了10倍,用一臺攻擊機來攻擊不再能起作用,那麼DDoS就是利用更多的傀儡機來發起進攻,以比從前更大的規模來進攻受害者。常用的DDoS軟體有:LOIC。
在這裡補充兩點:第一就是DDOS攻擊不僅能攻擊計算機,還能攻擊路由器,因為路由器是一臺特殊型別的計算機;第二是網速決定攻擊的好和快,比如說,如果你一個被限制網速的環境下,它們的攻擊效果不是很明顯,但是快的網速相比之下更加具有攻擊效果。
2)什麼是CC攻擊?
3)兩者區別
DDoS是針對IP的攻擊,而CC攻擊的是伺服器資源。
四、CC攻擊的變異品種 慢速攻擊
1)什麼是慢速攻擊
一說起慢速攻擊,就要談談它的成名歷史了。HTTP Post慢速DoS攻擊第一次在技術社群被正式披露是2012年的OWASP大會上,由Wong Onn Chee 和 Tom Brennan共同演示了使用這一技術攻擊的威力。
這個攻擊的基本原理如下:對任何一個開放了HTTP訪問的伺服器HTTP伺服器,先建立了一個連線,指定一個比較大的content-length,然後以非常低的速度發包,比如1-10s發一個位元組,然後維持住這個連線不斷開。如果客戶端持續建立這樣的連線,那麼伺服器上可用的連線將一點一點被佔滿,從而導致拒絕服務。
和CC攻擊一樣,只要Web伺服器開放了Web服務,那麼它就可以是一個靶子,HTTP協議在接收到request之前是不對請求內容作校驗的,所以即使你的Web應用沒有可用的form表單,這個攻擊一樣有效。
在客戶端以單執行緒方式建立較大數量的無用連線,並保持持續發包的代價非常的低廉。實際試驗中一臺普通PC可以建立的連線在3000個以上。這對一臺普通的Web server,將是致命的打擊。更不用說結合肉雞群做分散式DoS了。
鑑於此攻擊簡單的利用程度、拒絕服務的後果、帶有逃逸特性的攻擊方式,這類攻擊一炮而紅,成為眾多攻擊者的研究和利用物件。
2)慢速攻擊的分類發展到今天,慢速攻擊也多種多樣,其種類可分為以下幾種:
Slow headers:Web應用在處理HTTP請求之前都要先接收完所有的HTTP頭部,因為HTTP頭部中包含了一些Web應用可能用到的重要的資訊。攻擊者利用這點,發起一個HTTP請求,一直不停的傳送HTTP頭部,消耗伺服器的連線和記憶體資源。抓包資料可見,攻擊客戶端與伺服器建立TCP連線後,每30秒才向伺服器傳送一個HTTP頭部,而Web伺服器再沒接收到2個連續的\r\n時,會認為客戶端沒有傳送完頭部,而持續的等等客戶端傳送資料。
Slow body:攻擊者傳送一個HTTP POST請求,該請求的Content-Length頭部值很大,使得Web伺服器或代理認為客戶端要傳送很大的資料。伺服器會保持連線準備接收資料,但攻擊客戶端每次只發送很少量的資料,使該連線一直保持存活,消耗伺服器的連線和記憶體資源。抓包資料可見,攻擊客戶端與伺服器建立TCP連線後,傳送了完整的HTTP頭部,POST方法帶有較大的Content-Length,然後每10s傳送一次隨機的引數。伺服器因為沒有接收到相應Content-Length的body,而持續的等待客戶端傳送資料。Slow read:客戶端與伺服器建立連線併發送了一個HTTP請求,客戶端傳送完整的請求給伺服器端,然後一直保持這個連線,以很低的速度讀取Response,比如很長一段時間客戶端不讀取任何資料,透過傳送Zero Window到伺服器,讓伺服器誤以為客戶端很忙,直到連線快超時前才讀取一個位元組,以消耗伺服器的連線和記憶體資源。抓包資料可見,客戶端把資料發給伺服器後,伺服器傳送響應時,收到了客戶端的ZeroWindow提示(表示自己沒有緩衝區用於接收資料),伺服器不得不持續的向客戶端發出ZeroWindowProbe包,詢問客戶端是否可以接收資料。使用較多的慢速攻擊工具有:Slowhttptest和Slowloris。