首先攻击者拥有一个流量巨大的网站,这个网站的流量,很可能是他花钱买回来的,当然也可能是他控制的肉鸡,在控制的肉鸡上面访问他的网站。黑客的网站首页非常简单,但是在他的源代码中,却隐藏了达到上百个<iframe>标签。对!聪明的你,应该想得出他的<iframe>标签里面放的是什么了吧?没错!他的<iframe>里面,放的就是他要攻击的网站的地址。
举一个例子来说明一下攻击者的威力,假设黑客的网站是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这个网站十个甚至更多不同的地址。那就表明:凡是有一个人访问了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。
在此顺便提醒一下那些卖流量的站长们,不要因为自己的一点小利,就不小心成了黑客攻击者们的肉鸡。