LOB

LOB 10번(vampire → skeleton)

趙河晶 2016. 10. 4. 17:09

cat skeleton.c


코드의 끝에 보면 모든 argv[]0으로 초기화한다.

일단 혹시 남아있는 게 있나 확인하기 위해 스택을 살펴본다.


다 초기화 되고나서 스택에 뭐가 남아있나 확인해야하므로 leave에 브레이크포인트를 건다.


r `python c’print“\xbf”*48’` `python c’print“A”*100’`


0으로 다 초기화 되던 중 뒷부분에 무언가 남아있다.



확인을 해보니 파일 경로임을 알 수 있다.

그렇다면 앞에서 푼 문제처럼 심볼릭 링크를 걸어 풀어보자.



위에 끝에 남아있는 곳의 주소를 이용하여 RET주소를 덮는다.