ñandú.com.arxn--and-6ma2c.com.armünchen.dexn--mnchen-3ya.decontacto@correo.españa.escontacto@correo.xn--espaa-rta.eshttps://日本語.jp/ページhttps://xn--wgv71a119e.jp/%E3%83%9A%E3%83%BC%E3%82%B8аррӏе.comxn--80ak6aa92e.comEtykieta jest w całości zapisana literami cyrylicy lub greki, które wyglądają identycznie jak łacińskie. Może podszywać się pod znaną domenę: sprawdź formę xn--, zanim zaufasz linkowi.
Koduje lub dekoduje dowolny tekst czystym algorytmem Punycode, bez prefiksu xn-- i bez normalizacji domen. Przydaje się do debugowania własnej implementacji.
maana-ptaJak to działa
DNS akceptuje tylko litery ASCII, cyfry i łączniki, więc domena taka jak ñandú.com.ar nie może zostać przesłana w niezmienionej postaci. Umiędzynarodowione domeny (IDN) rozwiązują to za pomocą Punycode (RFC 3492): każda etykieta zawierająca znaki spoza ASCII jest kodowana algorytmem, który zachowuje zwykłe litery i dopisuje na końcu pozycję znaków specjalnych, a następnie otrzymuje prefiks xn--. W ten sposób ñandú staje się xn--and-6ma2c.
Przed kodowaniem IDNA normalizuje nazwę: zamienia litery na małe, ujednolica formy Unicode i przekształca alternatywne kropki, takie jak japońska 。. To narzędzie używa tego samego mapowania (UTS #46), które stosuje przeglądarka przy otwieraniu adresu, więc wynik zgadza się z tym, o co ostatecznie pyta DNS. W adresach e-mail konwertuje tylko domenę, a w adresach URL tylko host.
Dodatkowo rozbija każdą etykietę, podając jej długość i użyte pisma, oraz ostrzega, gdy domena miesza alfabety lub jest zapisana literami cyrylicy albo greki identycznymi z łacińskimi: to podstawa ataków homograficznych, w których link udaje, że prowadzi do znanej witryny.
Przykłady
ñandú.com.arxn--and-6ma2c.com.arZmienia się tylko etykieta ze znakami specjalnymi; com i ar pozostają bez zmian. To tę formę wpisuje się do DNS i do SAN certyfikatu.faß.dexn--fa-hia.deW IDNA2008 niemieckie ß jest prawidłową literą i zostaje zakodowane. W poprzednim standardzie zamieniało się na ss i wskazywało na fass.de, inną domenę: dlatego niektóre starsze systemy rozwiązują coś innego.аррӏе.comxn--80ak6aa92e.comHomograf opublikowany przez Xudong Zheng w 2017 roku: pięć liter cyrylicy, które wyglądają dokładnie jak apple. Od tego czasu Chrome i Firefox wyświetlają takie domeny w formie xn--.пример.рфxn--e1afmkfd.xn--p1aiTakże domeny najwyższego poziomu mogą być międzynarodowe: .рф to domena Rosji zapisana cyrylicą, a w DNS zapisuje się ją jako xn--p1ai.Przypadki użycia
- Uzyskanie formy xn-- domeny z polskimi znakami lub akcentami, aby dodać rekordy w DNS, w konfiguracji nginx lub Apache albo w SAN certyfikatu.
- Zrozumienie, jaka prawdziwa domena kryje się za xn--, które pojawia się w logu, w zgłoszeniu phishingu lub na pasku adresu przeglądarki.
- Sprawdzenie podejrzanego linku pod kątem liter cyrylicy lub greki podszywających się pod łacińskie.
- Konwersja domeny umiędzynarodowionego adresu e-mail dla serwera, który nie obsługuje SMTPUTF8.
- Sprawdzenie, czy międzynarodowa domena po zakodowaniu nie przekracza 63 znaków na etykietę.
Najczęstsze pytania
Co oznacza prefiks xn--?
To prefiks ACE (ASCII Compatible Encoding), który oznacza, że etykieta jest zapisana w Punycode. Etykiety z łącznikami na trzeciej i czwartej pozycji zostały zarezerwowane dla takich prefiksów, dlatego rejestry nie pozwalają utworzyć domeny zaczynającej się od xn--, jeśli nie jest prawidłowym IDN.
Której formy użyć w DNS, na serwerze WWW i w certyfikacie?
Formy ASCII, z xn--, we wszystkich miejscach technicznych: rekordach DNS, server_name w nginx, ServerName w Apache, SAN certyfikatu i nagłówkach Host. Forma Unicode służy tylko do wyświetlania ludziom; przeglądarki konwertują ją przed wysłaniem zapytania.
Czym jest atak homograficzny?
To rejestracja domeny, która wygląda identycznie jak inna, dzięki użyciu liter z innego alfabetu, na przykład cyrylicznego a zamiast łacińskiego. Przeglądarki wyświetlają formę xn--, gdy etykieta miesza pisma lub przypomina znaną domenę. Jeśli link wygląda normalnie, ale jego forma ASCII zaczyna się od xn--, zachowaj ostrożność.
Czy w adresie e-mail można używać polskich znaków?
W domenie tak, i można ją przekonwertować na xn-- dla dowolnego serwera. Część przed znakiem @ to inna sprawa: ze znakami spoza ASCII wymaga, aby wszystkie serwery po drodze obsługiwały SMTPUTF8 (RFC 6531), i nie ma równoważnej formy Punycode.
Dlaczego moja domena z wielkimi literami się zmieniła?
Nazwy domen nie rozróżniają wielkości liter, a IDNA przed kodowaniem zamienia wszystko na małe litery: MÜNCHEN.de i münchen.de to ta sama domena, xn--mnchen-3ya.de. Czysty Punycode zachowuje natomiast wielkie litery, dlatego konwerter bez prefiksu daje inne wyniki.