WARGAME/FTZ [system]
ftz level 19 [level19]
uning
2020. 5. 1. 02:36

이번에는 너무 짧아서 놀랐다.
너무 간단해보이는데..? ㅎㅎ
바로 쉘코드 환경변수에 올리고 오버플로우 시켜 ret 자리에 환경 변수 주소가 오도록 빨리빨리 진행해보자.
그러나 이번 문제에서는 setreuid 로 권한 상승을 해주는 부분이 없기 때문에 setreuid() 를 포함하는 쉘코드를 환경변수로 등록해야한다.
4
참고 https://security-nanglam.tistory.com/117
먼저 디버깅부터 해서 buf 의 시작주소를 기반으로 얼만큼 오버라이딩 시키면 될지부터 확인하자.

main+9 에 ebp-40 위치가 buf 의 위치.

스택을 그려보자면 이런 형태.
암튼 페이로드는 "a"*44 + 환경변수 주소 가 될 것이다.

getenv.c 생성 후 컴파일,

환경 변수 주소 획득
페이로드 입력하면,

level20 password "we are just regular guys" 획득!