iphone 2010-6-26 12:00
CC攻擊的原理和預防
首先攻擊者擁有一個流量巨大的網站,這個網站的流量,很可能是他花錢買回來的,當然也可能是他控制的肉雞,在控制的肉雞上面訪問他的網站。駭客的網站首頁非常簡單,但是在他的源代碼中,卻隱藏了達到上百個<iframe>標籤。對!聰明的你,應該想得出他的<iframe>標籤裏面放的是什麼了吧?沒錯!他的<iframe>裏面,放的就是他要攻擊的網站的地址。
<P> </P>
<P>舉一個例子來說明一下攻擊者的威力,假設駭客的網站是aaa.com,你的網站是BBB.com。如果有人在163的首頁代碼中,有這麼一段:<iframe src="http://aaa.com" border="0" width="0" height="0"></iframe>,那麼在所有人訪問163的主頁時,也會不知不覺的訪問http://aaa.com。然後http://aaa.com的首頁中可能有100個如下的代碼:<iframe src=http://BBB.com border="0" width="0" height="0"></iframe>,當然他還可能放上bbb.com這個網站十個甚至更多不同的位址。</P>
<P> </P>
<P>那就表明:凡是有一個人訪問了163,就可能會訪問BBB.com十次。以每秒300個請求來說,一天就是25920000個請求,再加上頁面上的圖片和其他檔等,估計就是上億個請求了。1天上億個請求,普通的網站受得了嗎?有很多被攻擊的網站用的是虛擬主機,每秒不到100個連接可能就無法提供服務了。即使是那種單獨幾台伺服器的網站,也根本就無法承受!即使WEB Server可以承受,那帶寬呢?即使帶寬可以承受,那麼Db Server呢?</P>
<P> </P>
<P>朋友的網站就受到此種攻擊,他試著將網站轉移到他朋友的伺服器上面,當然最後的結果還是照樣拖累他朋友的伺服器癱瘓。</P>
<P> </P>
<P>這種就是是典型的CC攻擊。CC攻擊比DDOS攻擊更可怕的就是,CC攻擊一般是硬防很難防止住的。為什麼呢?一、因為CC攻擊來的IP都是真實的,分散的;二、CC攻擊的資料包都是正常的資料包;三、CC攻擊的請求,全都是有效的請求,無法拒絕的請求。</P>
<P> </P>
<P>其實只要仔細研究了一下這種攻擊的模式,發現這種攻擊,理論上是可以防止的,即只要通過有效的手段,完全可以將危害降低到最輕。因為這種攻擊有一個致命的弱點。它致命的弱點在哪里呢?當然就是在<iframe>上面。通過<iframe>進行CC攻擊,攻擊者的想法和創意,確實很讓人驚歎,但這正好造成了他的完美失敗。</P>
<P> </P>
<P>熟悉網頁程式的朋友應該都知道,用<iframe>嵌入的網頁,自然都會有HTTP_REFERER值,而有了這個值,從這個值上面遮罩或是轉發掉來源的網站即可。也就是說,你可以訪問我,但是我不將真實的頁面返回給你,我可以把你隨意打發掉,或是將你隨意轉到另外一個網站上去(如:公安部?哈哈,我就見過有人類似這樣做的),這樣我就可以大量的節省我的帶寬、我的DB Server資源、我的Web Server資源。你最多就是佔用了我大量的TCP連接罷了。</P>
<P><BR> 下面貼一段Web server的配置代碼,用於解決此類攻擊:</P>
<P> </P>
<P> valid_referers none blocked server_names google.com google.cn *.google.com *.google.cn baidu.com *.baidu.com *.你自己的功能變數名稱(在這裏還可以加入其他的,比如說SOSO,YAHOO,SOGOU YOUDAO等);</P>
<P> </P>
<P>[quote]<BR>if ($invalid_referer) {</P>
<P> return 404;<BR> }</P>
<P>[/quote]</P>
<P> 上面的代碼,很簡單的設置了,只要不是HTTP_REFERER來源於上面設置網址來源的請求,通通轉發至404。</P>
<P><BR> 在此順便提醒一下那些賣流量的站長們,不要因為自己的一點小利,就不小心成了駭客攻擊者們的肉雞。</P>
<P> </P>
<P>From: http://www.superpay.com.tw/2009arts/Article/c/451.html</P>