cgy12306
FTZ 9번 level9 본문
ID : level9
PW : apple
open hint
버퍼 오버플로우에 관한 문제인 것 같다. 코드를 분석해보자.
우선 buf2와 buf에 10만큼 캐릭터형 변수를 선언해준다.
"It can be overflow : "를 출력해주고, buf에 40-1만큼 입력을 받거나 개행문자까지 입력을 받는다.
다음 if 문에서 buf2와 "go"를 2바이트 비교해서 같으면 Good Skill을 출력하고 setuid 3010을 획득하게 되며 쉘을 실행하게 된다.
이 파일을 디버깅 해보자.
안되는 것 같다. c파일을 생성해서 직접 실행파일을 만들어서 디버깅 해보자.
디버깅 후 인텔 형식으로 바꿔준다. 이제 메인 함수를 살펴보자.
스택 구조를 그려보니 ebp -24 부분이 go와 같은지를 물어보는 문제이다. a를 16개 넣어주고 그 다음에 go를 넣어주게 되면 쉘을 획득할 수 있을 것같다. 입력해보자.
비밀번호는 interesting to hack!이다
'Wargame > FTZ' 카테고리의 다른 글
FTZ 11번 level11 (0) | 2019.07.06 |
---|---|
FTZ 10번 level10 (0) | 2019.07.06 |
FTZ 8번 level8 (0) | 2019.07.06 |
FTZ 7번 level7 (0) | 2019.07.06 |
FTZ 6번 level6 (0) | 2019.07.06 |
Comments