passcode : kernel crashed
(NO DRAG, NO PASSCODE)
bash2 입력. 슬슬 코드가 길어진다. 분석해보자.
here is changed 라고 친절히 알려주었다. argv[0]의 길이를 77bytes로 만들어주어야 한다. 프로그램을 실행할 때 argv[0]는 프로그램의 이름에 해당한다.
gdb로 분석한 메모리 구조는 다음과 같다.
—————————— High Address
| ret(4) |
——————————
| sfp(4) |
—————————— ← ebp
| buffer(40) |
——————————
| int(4) |
—————————— Low Address
이제 buffer 의 주소를 구해보자.
따라서 buffer의 주소는 0xbffffbf1 이다.
이를 바탕으로 payload를 짜서 쉘을 따보자.
이번에도 바로 따졌다.
[orge] : timewalker
'Pwnable > LOB' 카테고리의 다른 글
[LOB] 8. TROLL (0) | 2020.08.28 |
---|---|
[LOB] 7. ORGE (0) | 2020.08.28 |
[LOB] 5. WOLFMAN (0) | 2020.08.28 |
[LOB] 4. ORC (0) | 2020.08.28 |
[LOB] 3. GOBLIN (0) | 2020.08.28 |