System/LOB
[LOB] 14. bugbear -> giant
BadSchool
2019. 4. 26. 19:14


▲ LOB 14번 문제. bugbear -> giant 문제이다. giant.c와 giant 파일이 존재한다.

▲ 이전 문제와 달리 memcpy에서 ret 부분에 execve_addr이 있는지 체크한다.


▲ system 함수가 아닌 execve함수를 사용해야 한다.
execve함수는 execve address와 exit address , NULL 인자값을 가진다.
우리는 여기에 exit()주소를 system함수 주소로 바꾸고 NULL을 /bin/sh 문자열 주소로 변경해 준다.

▲ print로 system함수와 execve함수의 주소를 알아낸다. /bin/sh는 이전과 같은 코드로 주소를 알아낸다.