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