본문으로 건너뛰기

10. ECB 컷앤페이스트 공격 메모

AES-ECB는 블록 단위로 독립 암호화되기 때문에, 동일 평문 블록은 동일 암호문 블록으로 매핑됩니다. 이 특성을 이용해 CTF에서 권한 상승 토큰을 만들 수 있습니다.

핵심 아이디어​

  • 입력을 조절해 role=user 블록과 role=admin 블록을 정확히 블록 경계에 맞춤
  • 암호문 블록을 잘라 붙여 admin 블록을 포함한 새로운 토큰 구성

빠른 절차​

  1. 블록 사이즈 탐지(보통 16바이트)
  2. 패딩 위치 맞춰 admin이 블록 시작에 오도록 페이로드 구성
  3. admin 블록을 추출해 정상 토큰의 role 블록과 교체

방어 포인트​

  • ECB 사용 금지 → CBC/GCM 권장
  • 인증된 암호(AEAD)로 무결성 검증
  • 토큰은 서명(JWT) + 서버 측 권한 검증

ECB는 “편해서 쓰는 순간” 바로 공격 표면이 됩니다. 블록 경계가 보이면 이미 끝입니다.