level 171 해커스쿨 F.T.Z Level 17 level 17 로그인 후 hint를 본다. level 16 hint 코드에서 shell 함수가 빠지고 setreuid는 main으로 들어오게 됐다. 이렇게 되면 level 16처럼 shell 함수의 주소도 없고 level 14처럼 글자를 대조하는 것도 아니고 level 15처럼 주소를 넣는 것도 할 수 없다. 여기서 해야 하는 건 setreuid가 실행되고 쉘을 실행해야 level 18의 uid를 얻을 수 있다는 것이다. 일단 gdb를 확인해 본다. main+3에서 0x38(56)byte 확보하고 main+6에서 0x8048490 주솟값을 ebp-16에 저장한다. main+57에서 ebp-16을 eax에 저장하고 eax를 call 해서 call 함수를 불러온다. 코드는 다르지만, 프로그램의 메커니즘은 .. 2020. 2. 27. 이전 1 다음