Hacker News웹 · 프론트엔드

유니코드 문자로 도메인 해킹하기

원제 Domain hacks with unusual Unicode characters (2018)

100 포인트댓글 58
Key Point

유니코드를 이용한 도메인 변형이 모든 최신 브라우저에서 작동하지만 소셜 미디어 플랫폼에서 인식되지 않는 차이가 있으며, 보안 필터 우회라는 실제 위협으로도 작용할 수 있다는 점이 중요하다.

핵심 요약

  • 유니코드의 특수 기호 중에는 TLD(최상위 도메인)로 정규화되는 것들이 있다. 예를 들어 ℡(전화 기호)는 .tel 도메인으로, №(번호 기호)는 .no 도메인으로 변환된다.
  • 이 특성을 이용하면 일반 도메인에서도 https://edent.℡/ 같은 유니코드 문자를 포함한 URL을 만들 수 있으며, 이는 모든 최신 브라우저에서 작동한다.
  • 도메인 어디든지 특수 기호를 사용할 수 있다. Script(𝒮𝒸𝓇𝒾𝓅𝓉), Math Bold(𝐞𝐱𝐚𝐦𝐩𝐥𝐞), Fraktur(𝖋𝖎𝖘𝖕), Superscript(ᵉˣᵃᵐᵖˡᵉ), Subscript(ₑₓₐₘₚₗₑ) 등 다양한 Unicode 문자 집합을 적용할 수 있다.
  • 브라우저가 IDNA2008(RFC5895) 표준에 따라 유니코드 문자를 자동으로 정규화하는 방식으로 작동한다. 예컨대 ℡는 T, E, L로 매핑되어 .tel이 된다.
  • Chrome, Safari, Firefox 등 모든 현대 브라우저와 Linux, macOS에서 작동하며, wget, curl 같은 커맨드라인 도구에서도 지원된다.
  • 제약이 있다: Twitter, Facebook 같은 소셜 미디어는 이런 URL을 인식하지 못하고 자동 링크를 거부한다. dig, host 같은 DNS 도구도 지원하지 않는다.
  • 유니코드에서 유효한 TLD로 정규화되는 단일 문자는 100개 이상이며, 대부분 국가 코드다. 예: ㍳(호주), ℡(.tel), №(.no), ㏕(미국 군), ㎋(노퍼크 섬) 등이 있다.
  • 이 기법은 URL 필터 우회에 악용될 수 있으며, 문자 몇 개를 절약할 수 있지만 일관성 없게 작동한다는 단점이 있다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗