Skip to main content

OAuth redirect_uri 함정 메모

OAuth/OIDC에서 redirect_uri 검증이 느슨하면 토큰 탈취계정 연결 하이재킹으로 이어집니다. CTF에서 자주 나오는 패턴만 짧게 정리.

자주 터지는 검증 약점

  • https://example.com/callbackhttps://example.com/callback/.. 혼동
  • //evil.com 같은 scheme-relative 우회
  • 쿼리 허용 범위 과다 (?next=https://evil.com)
  • 서브도메인/포트 allowlist 누락

빠른 테스트 루틴

  • 인코딩 2중 적용: %252f
  • path normalization 전/후 비교
  • redirect_uri 값에 #fragment 삽입

방어 포인트

  • 정확한 문자열 매칭 또는 정규화 후 비교
  • allowlist를 스킴+호스트+포트까지 고정
  • 중간 리다이렉트 제거, 고정된 callback만 허용

검증 로직이 “비슷하면 통과”가 되는 순간, 공격자는 리다이렉트 체인을 만들 수 있습니다. 엄격함이 기본값이어야 합니다.