CTF에서 checksec로 바이너리 방어기법 빠르게 파악하기
리버스/포너블 문제 풀 때 첫 30초에 할 일은 checksec로 방어 옵션을 확인하는 겁니다. NX, PIE, Canary가 켜져 있느냐에 따라 익스플로잇 전략이 완전히 달라져요.
핵심 옵션
- NX: 스택 실행 불가 → 셸코드 대신 ROP/ret2libc
- Canary: 스택 오버플로 감시 → info leak 필요
- PIE: ASLR 영향 큼 → 베이스 주소 leak 필수
- RELRO: GOT 쓰기 제한 → GOT overwrite 전략 차단
빠른 루틴
checksec --file ./challstrings,readelf -s로 libc 버전/함수 힌트 확인- leak 가능 포인트(printf, puts, write) 먼저 탐색
한 줄 정리
방어기법을 먼저 보면 “지금 필요한 건 leak인지, ROP 체인인지”가 바로 보입니다. CTF든 실제 취약점 분석이든, checksec은 가장 가성비 좋은 첫 스캔이에요.