본문 바로가기

LOB

LOB 10번(vampire → skeleton)

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