04. goblin -> orc
egghunter. 코드를 분석해보면 환경변수가 저장되어있는 부분을 모두 0으로 초기화 시킨다. 따라서 환경변수에 쉘코드를 저장하는 방식을 막는것을 알 수 있다. 또한 argv[1][47]이 \xbf이여야한다. argv[1]로 주었던, "A"*47+\xbf를 확인할 수 있고, 그 윗 영역인 env 부분은 모두 0으로 초기화되어있다. 환경변수를 사용할 수 없으니 쉘코드를 argv로 전달해주면 된다. argv영역은 초기화 하지 않으므로 argv[2]로 주었던 \x90 *100 + 쉘코드를 찾을 수 있다. 주소값 0xbffffb8c를 사용하여 ret을 덮어보자. 다음단계로 넘어가보자.
Pwnable Write-Up/02.hackerschool L.O.B
2020. 3. 9. 18:32