피드로 돌아가기
The Pentester’s Guide to Finding CBC Bit Flipping Vulnerabilities
Dev.toDev.to
Security

MAC 부재 기반 CBC 모드 Bit Flipping을 통한 권한 탈취 및 데이터 조작

The Pentester’s Guide to Finding CBC Bit Flipping Vulnerabilities

Arashad Dodhiya2026년 6월 17일5advanced

Context

세션 관리 시 Integrity Check(MAC) 없이 CBC 모드 암호화만을 사용하는 아키텍처의 보안 결함 분석. 암호화된 데이터의 기밀성은 유지되나, 무결성 검증 부재로 인해 Ciphertext 조작이 Plaintext에 직접적인 영향을 주는 구조적 한계 존재.

Technical Solution

  • Transport Encoding(Base64, Hex 등) 제거를 통한 Raw Binary 데이터 확보
  • AES 16-byte 블록 경계 식별을 통한 조작 대상 Block N과 영향 범위 Block N+1 정의
  • Block N의 특정 바이트 수정으로 Block N+1의 복호화 결과값을 제어하는 Bit Flipping 메커니즘 활용
  • Plaintext 구조를 인지한 경우 XOR 연산을 통한 정밀한 값 변경 또는 Fuzzing을 통한 취약점 탐색
  • 수정된 Ciphertext의 재인코딩 및 Replay Attack을 통한 서버 측 복호화 결과 관찰
  • HTTP 500 Error 및 권한 변경 여부를 통한 Backend의 무결성 검증 로직 유무 판별

- CBC 모드 사용 시 반드시 HMAC 등의 Message Authentication Code를 결합한 Encrypt-then-MAC 구조 채택 여부 검토 - JWT와 같이 자체 서명 검증 메커니즘이 포함된 표준 토큰 포맷 도입 고려 - 복호화 후 데이터 파싱 단계에서 엄격한 Schema Validation 및 예외 처리 로직 구현 - Padding Oracle 공격 방지를 위해 암호화 오류 발생 시 세부 정보를 제외한 일관된 Generic Error 응답 반환

원문 읽기