FTZ level 14 FTZ level14 hint 우선 gdb로 확인해보자 buf는 ebp-56부터 시작되고 check는 ebp-16부터 시작된다. → 40byte차이 코드는 단순히 check == 0xdeadbeef이면 되므로 40byte를 채워주고 0xdeadbeef를 부르면 된다. 더보기 FTZ level 13 FTZ level 13 hint 우선 i가 어디에 들어가는지 확인하기 위해 /tmp에 hint코드를 복사해 gdb로 확인한다. ebp에서부터 들어가므로 처음에 들어간 값이 0x1234567가 아니면 종료시킨다. 총 1048byte를 확보, ebp-12부터 I가 들어가므로 LOW | buffer(1024byte) | dummy(12byte) | I(4byte) | dummy(8byte) | HIGH 계획) A 1036개로 dummy까지 채우고 i적고 다시 B 8개로 채우고 RET주소에 쉘코드로 환경변수를 만들어 그 환경변수의 주소로 채운다. 환경 변수를 만들고 환경변수 주소 확인 더보기 FTZ level 12 FTZ level 12 hint hint코드를 /tmp에 옮기고 gdb로 확인해본다. 264byte를 확보한다. RET의 주소를 넉넉히 0xbfffe7c0부터 준다. 이전 문제는 인자를 코드 실행 시 받는다면 이번 문제는 실행하고 gets함수로 받는다는 게 다를 뿐 푸는 방법은 똑같다. 더보기 이전 1 ··· 18 19 20 21 22 23 24 ··· 36 다음