Pwnable/LOB

[LOB] 6. DARKELF

Lucvs 2020. 8. 28. 15:32

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