#include #include #include void print_error(char *prog) { fprintf(stdout, "Usage : %s password\n", prog); exit(-1); } int main(int argc, char *argv[]) { FILE *fp; char password[40]; char *pointer1, *pointer2; // ÀÔ·Â ¿¡·¯ ó¸® if(argc!=2) print_error(argv[0]); // Correct Password Loading fp = fopen("/home/guta/QUESTION/Password.txt", "r"); fgets(password, 40, fp); password[strlen(password)-1] = '\0'; fclose(fp); pointer1 = password; pointer2 = argv[1]; // ÀÔ·ÂÇÑ ¹®ÀÚ¿­°ú Correct Password¸¦ ºñ±³ while(*pointer2){ if(*(pointer2++) != *(pointer1++)){ fprintf(stdout, "Password is not correct!\n"); return -1; } } // ¸Â´Ù¸é ÀÎÁõ Åë°ú printf("Wow! You got the new shell\n"); setreuid(505, 505); system("/bin/bash -p"); }