맥에서만 하다가 오늘은 윈도우에서 하네요. ㅎㅎ


Level15로 접속하고 hint를 확인해 보겠습니다.

Level14의 힌트와 굉장히 유사합니다.

참고로 Level14의 힌트는 다음과 같습니다.

Level15에서는 Level14에 비해서 check변수가 포인터 변수로 변경 되었다는 점만 다르네요.

따라서 Level14에서는 check에 직접 0xdeadbeef를 넣어 주었지만, Level15에서는 check0xdeadbeef가 들어있는 메모리의 주소값을 넣어 주어야 합니다.

 

코드에 deadbeef가 있으니 따로 입력은 하지 않고 저 값이 있는 주소를 얻어오면 될 듯 합니다.

Gdb로 열어서 값을 확인해 보도록 하겠습니다.

x/10x mainmain으로부터 40byte 만큼의 메모리 내용을 16진수로 보여달라는 명령어 입니다.

확인해보니 0x080484b20xdeadbeef가 있네요.

 

스택에서 *check의 위치를 알기 위하여 어셈블리어를 확인해 보겠습니다.

Level14와 스택구조가 똑같음을 알 수 있습니다.

그럼 40byte를 채워주고 그 다음 4byte*check이니깐 이 부분에 0x080484b2를 넣어주면 되겠네요.

빙고~ Level16 쉘이 획득 되었습니다.



Level16의 암호는 about to cause mass 입니다.



 

+ Recent posts