Wargame 🎮/🏹 LOB(Lord Of Bof)

반응형
Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] darkknight

[LOB] darkknight darkknight로 로그인했더니 bugbear 파일이 있다. 이번에는 RTL로 푸는 문제이다. #include #include main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] == '\xbf') { printf("stack betrayed you!!\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } 코드를 보면, 1. if(argv[1][47]!='\xbf')에서 48bytes째에서 입력 인자가 '\xbf'가 되어야 한다. 2. strcpy(..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] golem

[LOB] golem #include #include void problem_child(char *src) { char buffer[40]; strncpy(buffer, src, 41); printf("%s\n", buffer); } main(int argc, char *argv[]) { if(argc

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] skeleton

[LOB] skeleton skeleton으로 로그인하면, golem 파일이 있다... #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); // stack destroyer! memset(buffer, 0, 44); memset(buffer+48, 0, 0xbfffffff ..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] vampire

[LOB] vampire vampire로 로그인하면 skeleton이라는 문제가 나온다. #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i, saved_argc; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } // check the length of argume..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] troll

[LOB] troll troll로 로그인을 하면 vampire 파일이 있다. #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } // here is changed! if(argv[1][46] == '\xff') { printf("but it's not forever\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } 코드를 확인하면, 1. if(..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] orge

[LOB] orge orge로 로그인하고 문제를 확인하면 다음과 같다. #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; // here is changed if(argc != 2){ printf("argc must be two!\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } // check the length of a..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] darkelf

[LOB] darkelf wolfman으로 로그인하고 문제를 확인하면 다음과 같다. #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // here is changed! if(strlen(argv[0]) != 77){ printf("argv[0] error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { printf("sta..

Wargame 🎮/🏹 LOB(Lord Of Bof)

[LOB] wolfman

[LOB] wolfman walfman으로 로그인하고 #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc 48){ pri..

반응형
제나나
'Wargame 🎮/🏹 LOB(Lord Of Bof)' 카테고리의 글 목록 (2 Page)