Format #0
-
[Binary Exploitation] Format #0CTF write_up/NACTF 2019. 9. 24. 00:21
문제를 해결하기 위해서 한번 .c 코드를 확인해 보겠습니다. 일단 인자로 flag 라는 변수를 넘겨 줍니다. 그렇다면 스택 구조를 잠시 예상해 보자면 buf[64] + SFP + RET(main으로 돌아가는 주소) + 인자값 주소 의 형식을 것 으로 예상합니다. 일단 gdb로 열어보겠습니다. 여기다가 break를 걸고 실행해서 $esp를 확인해보겠습니다. flag.txt 가 필요하다고 하네요! flag.txt를 임의적으로 만들어 보겠습니다. $esp 값을 확인해 보겠습니다. $esp-12로 한이유는 입력을 받으면 다음과 같이 나오기 때문에 똑같이 맞춰주기 위해서 한것입니다. 61616161이 들어간 4번 오프셋을 기준으로 한번 인자값 부분을 찾아보겠습니다. buf[64] + SFP[4] + RET[4] ..