level4
-
Level4 (goblin -> orc)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:16
소스코드를 확인해 보겠습니다. egghunter이란 환경변수 부분을 0으로 초기화 하는 역할을 하는데, 그래서 이전에 사용한 환경변수 관련된 문제 풀이는 사용할 수 없습니다. 그리고 argv의 47번째 바이트가 \xbf 인지 확인 합니다. buffer의 크기 40바이트 + SFP 4바이트 + RET 4바이트 = 48바이트 하지만 argv[1]의 47번째 바이트가 \xbf 인것으로 보아 RET 첫번째 주소의 시작값이 \xbf 라는 것을 알수 있습니다. 또한 gdb로 열어보면 코드 영역은 0x80~~의 주소를 가지고있고 우리가 필요한 \xbf 는 Stack 영역에 있는 주소입니다. 이제 한번 core dump를 해보겠습니다. RET에 들어가야하는 주소를 찾기 위해서 gdb -q -c core 명령을 통해 알..