FTZ level18

Wargame/FTZ 2018. 1. 7. 17:36

소스를 보면 다음과 같다. check 변수의 메모리 영역을 0xdeadbeef값으로 덮어야되는데 입력값이 들어가는 string 변수 영역이 check 변수보다 아래의 존재해 bof로는 덮을 수가 없다. 아래의 소스를 좀더 보면 switch문에서 0x08값이 들어오면 스트링 배열의 인덱스값이 1씩 감소한다. 즉 입력값으로 \x08을 한번 넣어주면 string[-1]요런식으로 들어가서 string 변수 위에 존재하는 check 변수 영역을 덮을 수 있게 된다.  

 

 

필요한 개념은 다 끝냈으니 바로 익스하면 되는데 string 배열 과 check 사이에 더미가 얼마 존재하는지 모른다. gdb로 까서 구하면 되겠지만 귀찮아서 그냥 4바이트씩 늘려가면서 대입했다.

 

 

 

 

'Wargame > FTZ' 카테고리의 다른 글

FTZ level20  (0) 2018.01.07
FTZ level19  (0) 2018.01.07
FTZ level17  (0) 2018.01.07
FTZ level16  (0) 2018.01.06
FTZ level15  (0) 2018.01.06
블로그 이미지

JeonYoungSin

메모 기록용 공간

,