[HackCTF] (Pwnable) Simple_Overflow_ver_2 풀이
문제파일 실행시, 데이터를 입력받고, 버퍼의 주소를 알려준다. 계속할수있고, n 을 누르면 종료한다. ida 로 열어보면, buffer : [rbp-0x88] 이란 걸 알 수 있다. 버퍼의 주소도 알려주니, 저번처럼 쉘코드 작성 후 , ret address 에 buffer 의 주소를 넣으면 된다. 메모리보호기법이 설정되어있지 않으니, ret address 를 덮어쓸 수 있다. 하지만, main함수를 분석하다보면, [ebp-8] 값이 입력한 문자열의 길이보다 작을때 buf 의 주소를 출력해준다. 쉘코드+DUMMY+buffer address 형식으로 payload 를 작성하면, [ebp-8] 에도 DUMMY 값이 들어가게된다. DUMMY 를 a 로 채운다면, [ebp-8] : 0x61616161 이 들어가서..
2020. 3. 21.