pwnable-bof
가상머신에 깔린 내 우분투로 접속하여 다운로드 받았다.
문제의 소스코드이다.
다운받은 bof파일로 gdb해서 디스어셈블 해봤는데 call부분에 함수 같은 정보가 나오지 않아서 bof.c파일을 복사해 bof1.c파일로 컴파일한 bof1로 gdb로 열었더니 함수 정보가 잘 나왔다.
여기서 int key라는 매개변수와 char overflow[32] 사이의 거리를 알아내는 것이 이 문제의 핵심이다.
어셈블리코드를 보면 ebp-0x2c(44)에서 get으로 입력을 받는 것을 보고 overflow변수의 위치라 생각했고 cafebabe를 비교하는 부분에서 ebp+0x08이랑 비교하는 것을 보고 이 부분이 key변수의 위치라 생각했다. 즉 두 변수의 거리차는 52였다.(리버싱 공부한걸 여따 써먹네요)
성공입니다. 권한을 얻은 것을 볼 수 있습니다.
0 개의 댓글