로딩
요청 처리 중입니다...

ftz.hackerschool.org level11 (fsb)

 ftz.hackerschool.org level11 (fsb)

오늘도 포스팅을 시작하려고 합니다! 어제에 이어서 오늘은 level11을 fsb로 푸는 방법에 대해 포스팅하려고 합니다 틀린 부분에 대한 지적은 언제나 환영입니다ㅠ level11의 코드입니다 printf( str )로 형식 지정자를 사용해 주지 않았기 때문에 format string bug가 일어날 거에요. * 사전지식으로 format string에 대한 이해가 필요합니다.

간단하게 설명 드리자면, fsb는 서식문자 %n을 사용하여서 푸는것입니다! %n은 독특한 기능을 하는데 %n은 %n이 나오기 이전에 출력된 자릿수를 계산하여 다음 4byte에 있는 내용을 주소로 여기고 그 주소에다가 계산한 자릿수, 즉 숫자를 입력합니다 %임의정수c 로 %n이 인식하는 자릿수를 마음대로 정할 수 있기 때문에 저는 %c를 사용할거에요 그런데 %임의정수c에도 %c라는 서식문자가 포함되어 있기 때문에 역시 스택의 4byte를 출력할거에요 그래서 %임의정수c에 대해서도 출력될 4byte를 써 주어야 해요...

# crackme # formatstring # FSB # ftz # hackerschool # level11 # system # 리틀