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" 획득!