cat skeleton.c
코드의 끝에 보면 모든 argv[]를 0으로 초기화한다.
일단 혹시 남아있는 게 있나 확인하기 위해 스택을 살펴본다.
다 초기화 되고나서 스택에 뭐가 남아있나 확인해야하므로 leave에 브레이크포인트를 건다.
r `python –c’print“\xbf”*48’` `python –c’print“A”*100’`
0으로 다 초기화 되던 중 뒷부분에 무언가 남아있다.
확인을 해보니 파일 경로임을 알 수 있다.
그렇다면 앞에서 푼 문제처럼 심볼릭 링크를 걸어 풀어보자.
위에 끝에 남아있는 곳의 주소를 이용하여 RET주소를 덮는다.
'LOB' 카테고리의 다른 글
LOB 12번 (golem → darknight) (0) | 2016.10.06 |
---|---|
LOB 11번(skeleton → golem) (0) | 2016.10.04 |
LOB 9번(troll → vampire) (0) | 2016.10.04 |
LOB 8번(orege → troll) (0) | 2016.10.04 |
LOB 7번(darkelf → orge) (0) | 2016.10.04 |