Obsługa kodowania UTF-8 z reguły niesie za sobą nie tylko korzyści, ale także wyzwania. Umiejętnie użyte, znaki specjalne mogą być zarówno źródłem rozrywki jak i metodą potencjalnego nadużycia. Nie wszystkie serwisy zdają sobie z tego sprawę.
Poniższy artykuł to gościnny występ Marcina Dudka, który opisał ciekawy sposób na stworzenie na niektórych forach kont, które w zasadzie nie powinny istnieć. Na blogu Marcina znajdziecie także inne ciekawe wpisy.
Czym jest „zero width non joiner”
„Zero width non joiner” jest znakiem o szerokości 0 pikseli, samodzielnie występuje jako niewidoczny znak. Więcej informacji: http://en.wikipedia.org/wiki/Zero-width_non-joiner
Znajdziemy go w tablicy znaków (Start > Wyszukaj „> „Tablica Znaków”), zaznaczamy Widok zaawansowany i w wyszukiwanie wpisujemy „Zero Width Non-Joiner”, naciskamy wybierz, a następnie kopiuj.
Test popularnych for
Postanowiłem przetestować jak zadziała użycie go przy rejestracji na kilku popularnych forach.
vBbulletin oraz IpBoard
Oba wydają się być bezpieczne, vBulletin przechodzi początkową walidację przy wpisywaniu, jednak po kliknięciu zarejestruj:
Podejście IpBoard bardziej mi się spodobało, od razu informuje, że można użyć tylko znaków a-z A-Z 0-9
MyBB
Potrzebujemy nicku 3 znakowego:
Teraz dodałem 2 znaki „zero width non jointer”:
Działa!
Ale rejestracja nicku jak 'a’, może służyć jedynie zabawie, teraz spróbujmy zarejestrować istniejący nick, czemu by nie „admin” ?
Przed dodaniem znaku U+200c :
Po:
Zalogowano
Dodanie posta w temacie prawdziwego admina:
Na następnym screenie, możemy zobaczyć 3 adminów i 2 użytkowników o nicku 'a’:
Zgłosiłem już to do MyBB.
phpBB
Tym razem forum nie pozwala nam zarejestrować takiego samego, jednak nadal można nick jednoliterowy:
Zagrożenia
Powiecie, że np. w MyBB „admin jest zielony i ma więcej gwiazdek”, Prawda…, ale:
- W prywatnej wiadomości, np z prośbą o nowe hasło, ludzie mogą tego nie zauważyć, szczególnie jeżeli użyjemy takiego samego avataru.
- Możliwe jest stworzenie każdego nicku, więc atakujący może stworzyć konto o nicku zaufanego sprzedawcy, o takiej samej randze, a nabicie postów to nie problem.
- Ludzie mogą popełnić błędy podczas wysyłania prywatnych wiadomości i wybrać nas, zamiast prawdziwego adresata.
Jak zaradzić
Najlepszym sposobem jest ten zastosowany przez IpBoard, czyli biała lista dozwolonych znaków, np. a-z A-Z 0-9
Komentarze
W takim phpBB jest biała lista dozwolonych znaków. Nie jest ona chyba ustawiona domyślnie, ale na pewno administrator bez żadnych modyfikacji phpBB może taką listę ustawić.
wczoraj właśnie używałem tablicy znaków. „Zero Width Non-Joiner” to jedyny sposób żeby zapostować na FB pustą wiadomość! Bo przy spacji, enterze itd. automatycznie usuwa white-space’y poza tym jednym (a może i innymi, innych nie znalazłem).
Ciekaw jestem, czy mój dodatek do MyBB pozwoliłby na wyeliminowanie tego problemu. Przyznam szczerze, nie sprawdzałem tej opcji https://github.com/lukasamd/MyBB-Strict_Username
Oj, trolejbusów już grzeją silniki :)
Cholerny słownik. Miało być:
Trolle już grzeją silniki ;)
To już te trolejbusy bardziej pasowały :)
Jak mgr inż. doktur lukasmad coś wymyśli to może być już tylko gorzej. Teraz mamy jeden poważny błąd z jego modyfikacjami, całe forum jest zagrożone.
To prawie jak: http://vizzdoom.net/2012/10/zabawy-z-%E2%80%AErtlo-u-202e-trolling-phishing/
Sprawdzać mi się nie chce, ale prawdopodobnie pewnie też da się w ten sposób zrobić „admina” : )
IP.Board też podatny w niektórych miejscach. Nie wszędzie mają ograniczenie listy znaków i to pewnie od amina zależy.
Bless
Aktualizacja:
Forum pozwoliło mi zarejestrować użytkownika, jednak formularz logowania już nie przepuścił tzn. w użytej przeglądarce autoryzuje po ciastkach, nie mogę jednak zalogować się w innej..
Pokazales dzieciom zabawe i wiele for borykalo sie z problemem i dodatkowa praca ameryki nie odkryles ale musimy cie zniszczyc. Twoja strona niebawem padnie grupa trzymajaca wladze.