NiceTop
워게임

PWN

Cute Canary

Medium ×1.5 · 225 XP · 0 solved

Cute Canary

귀여운 스택 카나리가 둥지를 지키고 있습니다. 카나리의 지저귐을 잘 들어보세요.

개념

이 문제는 Stack Canary가 켜진 환경에서의 버퍼 오버플로우입니다. 카나리 값을 그대로 덮어쓰면 프로그램이 바로 종료되므로, 먼저 카나리를 알아낸 뒤 정확히 맞춰 넣어야 합니다.

목표

  1. 바이너리를 분석해 win() 주소와 취약 함수를 확인합니다.
  2. Chirp 메뉴에서 카나리 힌트를 얻습니다.
  3. Nest 메뉴에서 카나리를 유지한 채 복귀 주소를 win()으로 덮어씁니다.

환경

Arch:     amd64-64-little
RELRO:    Partial RELRO
Stack:    Canary found
NX:       NX enabled
PIE:      No PIE (0x400000)

문제 파일

challenge.cMakefile을 받아 로컬에서 빌드할 수 있습니다. 원격은 인스턴스 시작 후 접속하세요.

make
./challenge

힌트

  • 메뉴 1번은 카나리가 듣고 있는 채팅 구간입니다.
  • 메뉴 2번은 횃대 버퍼입니다. checksec/디스어셈블로 카나리·복귀 주소 오프셋을 직접 확인하세요.
  • x86-64에서는 8바이트 정렬을 맞춰 주세요.

접속 정보 확인 및 FLAG 제출을 위해 로그인이 필요합니다

로그인