본문 바로가기

WARGAME/FTZ [system]

ftz level 12 [level12]

 

 

 

 

이번 문제도 역시 오버플로우.

왠지 level11 과 버퍼 크기도 동일한게 비슷해보이는데 한번 /tmp 로 이동해 똑같이 .c 파일을 만들고 컴파일 한 후 디버깅해보자.

 

 

 

 

 

 

후후... gets 함수 위험하다고 알려준다.

 

 

 

 

 

디버깅해보면,

진짜 level11 이랑 똑같아 보인다.

 

 

 

 

 

 

 

str[256] + dummy[8] + SEP[4] + RET[4] = 272 바이트.

 

 

 

그냥 level1 과 똑같이 환경 변수에 쉘코드를 담은 변수를 선언해두고 해당 주소를 ret 위치에 오도록

264 바이트를 nop 으로 채우고 환경 변수 주소를 입력해주어 실행하자.

 

 

 

 

 

 

 

 

 

 

환경변수 선언! 을 해야하지만 앞서 level11 에서 만들어뒀으니 패스, 

 

이 후 환경 변수 주소를 출력해주는 실행 파일도  그대로 사용.

 

 

 

 

 

알아낸 익스 코드 담긴 환경 변수 주소 이용해 attackme 에 사용.

이 문제에서는 실행 후 입력을 받는 형태이기 때문에 인자로 넣지 않고 파이프를 이용해서 실행!

 

 

 

 

 

실행 후 외계어 출력, my-pass 입력하면 level13 password "have no clue" 획득.

 

 

 

'WARGAME > FTZ [system]' 카테고리의 다른 글

ftz level 14 [level14]  (0) 2020.04.30
ftz level 13 [level13]  (0) 2020.04.30
ftz level 11 [level11]  (0) 2020.04.30
ftz level 10 [level10]  (0) 2020.04.30
ftz level 9 [level9]  (0) 2020.04.30