이번에는 너무 짧아서 놀랐다.
너무 간단해보이는데..? ㅎㅎ
바로 쉘코드 환경변수에 올리고 오버플로우 시켜 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" 획득!
'WARGAME > FTZ [system]' 카테고리의 다른 글
ftz level 20 [level20] (0) | 2020.05.01 |
---|---|
ftz level 18 [level18] (0) | 2020.05.01 |
ftz level 17 [level17] (0) | 2020.05.01 |
ftz level 16 [level16] (0) | 2020.05.01 |
ftz level 15 [level15] (0) | 2020.05.01 |