포인터 주소1 해커스쿨 F.T.Z Level 15 level 15 로그인 후 hint를 본다. level 14와 같은 코드지만 "int *check" 변수 check의 변수가 포인터로 쓰여있다. 이것은 변수 *check가 가리키는 주소에 0xdeadbeef가 들어있는지 봐야 한다. C 코드 분석은 level 14에서 했으므로 생략하고 gdb를 열어본다. main+3에서 0x38(56)byte만큼 공간을 확보하고 main+17에서 ebp-56의 주소를 eax에 넣은 뒤 fgets 함수를 call 한다. main+29에서 ebp-16의 주소를 eax에 넣고 그 결과를 main+32에서 0xdeadbeef와 비교한다. 이 사이에 *check 변수의 주소를 찾아 먼저 넣어주면 BOF가 일어나게 된다. 여기서 level 14와 같은 크기로 ebp-56에서 비교문.. 2020. 2. 26. 이전 1 다음