久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

CC攻擊

來自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

CC攻擊中的 CC 即 Challenge Collapsar,其前身名為Fatboy攻擊,Collapsar(黑洞) 是綠盟科技的一款抗DDOS產(chǎn)品品牌,在對(duì)抗拒絕服務(wù)攻擊的領(lǐng)域內(nèi)具有比較高的影響力和口碑。 因此,存在這樣一種拒絕攻擊行為,可以將受到Collapsar防火墻保護(hù)的網(wǎng)站擊潰,因此攻擊發(fā)起者挑釁式的將其更名為Challenge Collapsar 攻擊,簡(jiǎn)稱CC攻擊。

CC攻擊的基本原理[ ]

  • CC攻擊的原理并不復(fù)雜,其主要思路是基于應(yīng)用層的弱點(diǎn)進(jìn)行攻擊;傳統(tǒng)的拒絕服務(wù)攻擊,如Syn flood 主要是基于協(xié)議層和服務(wù)層的弱點(diǎn)開展攻擊,早期的抗拒絕服務(wù)攻擊產(chǎn)品也是基于此進(jìn)行防護(hù)。而應(yīng)用層的弱點(diǎn),取決于各自應(yīng)用平臺(tái)的開發(fā)能力,因此難以具有通用性的防護(hù)方案,這也是CC攻擊沒有很好的防護(hù)產(chǎn)品,非常容易得手的原因。
  • 簡(jiǎn)單舉例,一個(gè)論壇系統(tǒng),如果存在較多的分頁(yè),當(dāng)一個(gè)蜘蛛程序,多并發(fā)高頻次的進(jìn)行大量翻頁(yè)抓取時(shí),已經(jīng)產(chǎn)生了一種CC攻擊。
  • 應(yīng)用層常見SQL代碼范例如下(以php為例)
$sql="select * from post 
where tagid='$tagid' 
order by postid desc limit $start ,30";
  • 當(dāng)post表數(shù)據(jù)龐大,翻頁(yè)頻繁,$start數(shù)字急劇增加時(shí),查詢影響結(jié)果集=$start+30; 該查詢效率呈現(xiàn)明顯下降趨勢(shì),而多并發(fā)頻繁調(diào)用,因查詢無法立即完成,資源無法立即釋放,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)請(qǐng)求連接過多,導(dǎo)致數(shù)據(jù)庫(kù)阻塞,網(wǎng)站無法正常打開。
  • 性能不夠優(yōu)良的數(shù)據(jù)查詢,不良的程序執(zhí)行結(jié)構(gòu),比較消耗資源的功能,都可能成為CC攻擊的目標(biāo),而執(zhí)行方法可能是單機(jī)發(fā)起,也可能是通過肉雞發(fā)起,還有可能通過高流量站點(diǎn)嵌入腳本(iframe嵌入或js嵌入)發(fā)起,基于高流量網(wǎng)站嵌入攻擊代碼的CC攻擊,在目前互聯(lián)網(wǎng)環(huán)境上來講,更加無解。

防范攻擊的方法[ ]

  • 說了攻擊原理,大家肯定會(huì)問,那么怎么防御?使用硬件防火墻我不知道如何防范,除非你完全屏蔽頁(yè)面訪問,我的方法是通過頁(yè)面的編寫實(shí)現(xiàn)防御。
  • 使用Cookie認(rèn)證.這時(shí)候朋友說CC里面也允許Cookie,但是這里的Cookie是所有連接都使用的,所以啟用IP+Cookie認(rèn)證就可以了。
  • 利用Session.這個(gè)判斷比Cookie更加方便,不光可以IP認(rèn)證,還可以防刷新模式,在頁(yè)面里判斷刷新,是刷新就不讓它訪問,沒有刷新符號(hào)給它刷新符號(hào).給些示范代碼吧,Session:

程序代碼:

〈%
if session(“refresh”)〈〉 1 then
Session(“refresh”)=session(“refresh”)+1
Response.redirect “index.asp”
End if
%〉
  • 這樣用戶第一次訪問會(huì)使得Refresh=1,第二次訪問,正常,第三次,不讓他訪問了,認(rèn)為是刷新,可以加上一個(gè)時(shí)間參數(shù),讓多少時(shí)間允許訪問,這樣就限制了耗時(shí)間的頁(yè)面的訪問,對(duì)正常客戶幾乎沒有什么影響。
  • 通過代理發(fā)送的HTTP_X_FORWARDED_FOR變量來判斷使用代理攻擊機(jī)器的真實(shí)IP,這招完全可以找到發(fā)動(dòng)攻擊的人,當(dāng)然,不是所有的代理服務(wù)器都發(fā)送,但是有很多代理都發(fā)送這個(gè)參數(shù).詳細(xì)代碼:

程序代碼:

〈%
  Dim fsoObject
  Dim tsObject
  dim file
  if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
  response.write "無代理訪問"
  response.end
  end if
  Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
  file = server.mappath("CCLog.txt")
  if not fsoObject.fileexists(file) then
  fsoObject.createtextfile file,true,false
  end if
  set tsObject = fsoObject.OpenTextFile(file,8)
  tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  &"["Request.ServerVariables("REMOTE_ADDR")&"]"&now()
  Set fsoObject = Nothing
  Set tsObject = Nothing
  response.write "有代理訪問"
%〉
  • 這樣會(huì)生成CCLog.txt,它的記錄格式是:真實(shí)IP [代理的IP] 時(shí)間,看看哪個(gè)真實(shí)IP出現(xiàn)的次數(shù)多,就知道是誰在攻擊了.將這個(gè)代碼做成Conn.asp文件,替代那些連接數(shù)據(jù)庫(kù)的文件,這樣所有的數(shù)據(jù)庫(kù)請(qǐng)求就連接到這個(gè)文件上,然后馬上就能發(fā)現(xiàn)攻擊的人。
  • 還有一個(gè)方法就是把需要對(duì)數(shù)據(jù)查詢的語句做在Redirect后面,讓對(duì)方必須先訪問一個(gè)判斷頁(yè)面,然后Redirect過去。
  • 在存在多站的服務(wù)器上,嚴(yán)格限制每一個(gè)站允許的IP連接數(shù)和CPU使用時(shí)間,這是一個(gè)很有效的方法。

CC的防御要從代碼做起,其實(shí)一個(gè)好的頁(yè)面代碼都應(yīng)該注意這些東西,還有SQL注入,不光是一個(gè)入侵工具,更是一個(gè)DDOS缺口,大家都應(yīng)該在代碼中注意.舉個(gè)例子吧,某服務(wù)器,開動(dòng)了5000線的CC攻擊,沒有一點(diǎn)反應(yīng),因?yàn)樗械脑L問數(shù)據(jù)庫(kù)請(qǐng)求都必須一個(gè)隨機(jī)參數(shù)在Session里面,全是靜態(tài)頁(yè)面,沒有效果.突然發(fā)現(xiàn)它有一個(gè)請(qǐng)求會(huì)和外面的服務(wù)器聯(lián)系獲得,需要較長(zhǎng)的時(shí)間,而且沒有什么認(rèn)證,開800線攻擊,服務(wù)器馬上滿負(fù)荷了。

CC基于DDOS攻擊的原理[ ]

  • 首先DoS(Denial of Service) :阻斷服務(wù),泛指黑客試圖妨礙正常使用者使用網(wǎng)絡(luò)上的服務(wù)。
  • DDoS(Distributed Denial of Service):分布式阻斷服務(wù),是DoS的一種特例,指黑客利用多臺(tái)機(jī)器同時(shí)攻擊來達(dá)到妨礙正常使用者使用服務(wù)的目的。
  • 再說CC,CC主要是用來攻擊頁(yè)面的。每個(gè)人都有這樣的體驗(yàn):當(dāng)一個(gè)網(wǎng)頁(yè)訪問的人數(shù)特別多的時(shí)候,打開網(wǎng)頁(yè)就慢了,CC就是模擬多個(gè)用戶(多少線程就是多少用戶)不停的進(jìn)行訪問那些需要大量數(shù)據(jù)操作——就是需要大量CPU時(shí)間的頁(yè)面,造成服務(wù)器資源的浪費(fèi),CPU長(zhǎng)時(shí)間處于100%,永遠(yuǎn)都有處理不完的連接,到了超級(jí)繁忙的狀態(tài),就把網(wǎng)絡(luò)給阻斷了!正常的訪問就無法進(jìn)行了!

CC攻擊常見問題[ ]

1.為什么我使用CC沒有什么效果?

CC是通過模擬多用戶訪問來達(dá)到拒絕服務(wù)的效果的,也就是說如果你模擬的用戶數(shù)目不能達(dá)到服務(wù)器的最大用戶,就達(dá)不到拒絕服務(wù)的效果,比如xfocus只要600用戶就能拒絕,某臺(tái)超級(jí)SMTP服務(wù)器需要4000+的線程才能拒絕服務(wù)。

2.為什么我的CC一運(yùn)行就出錯(cuò)?

說實(shí)話,這是我的錯(cuò)誤,我最早的版本是有一個(gè)BUG的,其實(shí)就是代碼里面的hostnow溢出,所以你換個(gè)現(xiàn)在的版本就沒有問題了

3.CC的攻擊效果取決于什么?

你使用的有效的代理數(shù)目,線程數(shù),你選擇的攻擊的頁(yè)面,還有服務(wù)器的性能。

4.CC為什么要使用代理,直接連接效果不是更好嗎?

使用代理的理由很多:

第一是為了安全

第二是很多系統(tǒng)的防火墻都會(huì)檢測(cè)出有人PORT-FLOOD,使用代理就不存在被檢測(cè)成PORT-FLOOD的問題。

第三是利用了代理的特性,代理有個(gè)特性就是接到用戶請(qǐng)求以后一定會(huì)讀取頁(yè)面,不管用戶是否已經(jīng)斷開,這樣大大提高了我們的攻擊效率,如果我們直接連接必須保持住連接對(duì)方服務(wù)器才運(yùn)行,我們通過代理只要把請(qǐng)求發(fā)給代理就可以斷開,剩下的是代理的事情了。所以我們電腦完成的只是連接代理-〉發(fā)送請(qǐng)求-〉斷開,而不是有些朋友認(rèn)為的需要等待數(shù)據(jù)返回,所以程序才能達(dá)到如此的高線程。

5.為什么我用1000線不能D下來的服務(wù)器,別人500線就可以呢?

這個(gè)就是頁(yè)面選擇的問題了,如果選擇靜態(tài)頁(yè)面,效果可以說很不好,因?yàn)榉?wù)器讀取一個(gè)靜態(tài)頁(yè)面不需要多少時(shí)間就能完成,比如一個(gè)頁(yè)面服務(wù)器的讀取時(shí)間為0.0002S那么這說明該服務(wù)器的該頁(yè)面理論處理能力為5000個(gè)頁(yè)面,如果讀取時(shí)間為0.2S那么說明該服務(wù)器該頁(yè)面的理論處理能力只有5個(gè),顯然攻擊效果明顯不一樣。如果我一秒發(fā)起500個(gè)連接,對(duì)于第一個(gè)頁(yè)面,服務(wù)器在0.1S里面就處理完了,我怎么攻擊也是沒有效果的,對(duì)于第二個(gè)頁(yè)面,服務(wù)器在一秒內(nèi)只處理了5個(gè)連接,還有495個(gè)連接在隊(duì)列中,這樣服務(wù)器就有495個(gè)連接被占用了,2秒就是990個(gè),1分鐘就有29700個(gè)連接在隊(duì)列,如果服務(wù)器允許的并發(fā)連接數(shù)目小于這個(gè)數(shù)字,那么任何人都無法連接到服務(wù)器了,服務(wù)器這時(shí)的CPU資源和內(nèi)存資源也都滿負(fù)荷了。

6.如何選擇一個(gè)好的頁(yè)面?

從第五條我們可以知道,一個(gè)能讓服務(wù)器運(yùn)行時(shí)間越久的頁(yè)面越是服務(wù)器的薄弱點(diǎn),大家知道木桶理論,木桶能裝多少水不決定于木桶最高的地方有多高,而是木桶最低的地方的高度,那么我們選擇一個(gè)服務(wù)器運(yùn)行時(shí)間最久的頁(yè)面作為對(duì)象,這一般是選擇數(shù)據(jù)查詢次數(shù)多、查詢量大、查詢時(shí)間長(zhǎng)的頁(yè)面。

相關(guān)條目[ ]

參考來源[ ]