LOB

LOB level 4

뚜비히히 2020. 8. 19. 09:55

login은 goblin이고 password는 저번 문제에서 찾아낸 hackers proof였다!

우선 앞 문제들과 마찬가지로 bash2를 이용해서 오류를 잡아주었고, ls -l 을 이용해서 orc, orc.c 파일들이 있는 것을 확인할 수 있었다. 

cat 명령어를 통해서 orc.c를 확인 해볼 수 있었다. 

//egghunter 아래 for문을 통해서 환경변수 부분을 0으로 설정한 것을 볼 수 있었다. 따라서 환경변수를 사용하여 문제를 해결할 수 없다는 것을 알 수 있었다.

        if(argv[1][47] != '\xbf')

        {

                printf("stack is still your friend.\n");

                exit(0);

        }

리턴주소의 첫 바이트는 \xbf이어야 하는 것도 알 수 있었다. 그래서 스택영역을 사용하여 쉘코드를 buffer에 넣는 방식을 취할 것이다. 

tmp 디렉터리를 만든 다음 cp 명령어를 이용하여 orc 파일을 tmp 디렉터리로 복사했다. 그 다음 cd 명령어를 이용하여 tmp 디렉터리로 이동하였다.

core 파일을 gdb 명령어를 통해 분석하였다.

return address를 0xbfffc40으로 두고 문제를 풀겠다.

위의 리턴주소를 잡고 문제를 풀어 my-pass를 통해 password가 cantata라는 것을 알 수 있었다.

cantata

'LOB' 카테고리의 다른 글

LOB level 6  (0) 2020.08.19
LOB level 5  (0) 2020.08.19
LOB level3  (0) 2020.08.18
LOB level2  (0) 2020.08.14
LOB level1  (0) 2020.08.14