cgy12306

FTZ 11번 level11 본문

Wargame/FTZ

FTZ 11번 level11

cgy12306 2019. 7. 6. 18:39

ID : level11

PW : what!@#$?

 

strcpy 취약점을 이용해 버퍼오버플로우를 일으켜서 쉘을 획득하는 코드인것 같다.

우선 디버깅 해보자.

 

strcpy함수 호출 직후의 스택구조를 그려보면 이렇게 된다. 여기서 A라는 글자를 264byte(str)+4byte(ebp)+4byte(ret) 해주면 RET까지 A가 들어갈 것이다. 이러한 점을 이용해 RET에 쉘을 획득해주는 코드의 주소를 넣어주게 되면 RET은 주소를 쉘코드가 있는 주소로 가게되어 주소를 획득하게 된다.

우선 쉘코드를 환경변수에 등록하자.

 

쉘 환경변수의 위치를 알려주는 c코드를 작성하자.

 

 

쉘 코드의 주소는 0xbffffea6이다. 이제 A를 268개를 넣어주고 뒤에 이 쉘 코드의 주소를 넣어보자.

쉘코드의 주소는 리틀엔디안 방식으로 넣어주어야한다.

 

 

쉘 획득에 성공했다. 비밀번호는 it is like this이다.

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

FTZ 13번 level13  (0) 2019.07.06
FTZ 12번 level12  (0) 2019.07.06
FTZ 10번 level10  (0) 2019.07.06
FTZ 9번 level9  (0) 2019.07.06
FTZ 8번 level8  (0) 2019.07.06
Comments