Pwnable/LOB
[LOB] 2. COBOLT
Lucvs
2020. 8. 28. 15:10
passcode : hacking exported
(NO DRAG, NO PASSCODE)
bash2 입력해주는 것을 까먹지 말자. goblin 이라는 프로그램과 소스코드가 있다. 바로 분석해보자.
작은 버퍼와 표준입력에 대한 문제인 것 같다. cobolt의 문제와 다른 것은 인자가 아닌 표준입력을 받는 함수 gets를 사용하다는 것 뿐이다. 메모리 구조를 분석하고 바로 payload를 짜보자.
메모리 구조는 다음과 같다.
—————————— High Address
| ret(4) |
——————————
| sfp(4) |
—————————— ← ebp
| buffer(16) |
—————————— Low Address
shellcode 를 export 하고 shellcode 의 주소를 찾자.
shellcode 주소 -> 0xbffffed6
이제 payload를 짜서 쉘을 따보자.
[goblin] : hackers proof