Verwenden ähnlicher Unicode-Zeichen zum Umgehen der Authentifizierung

GitHub drehte sich um ist anfällig für einen Angriff, der durch die Manipulation von Unicode-Zeichen in E-Mails den Zugriff auf ein Konto ermöglicht. Das Problem besteht darin, dass einige Unicode-Zeichen bei Verwendung der Klein- oder Großbuchstaben-Konvertierungsfunktionen in reguläre Zeichen übersetzt werden, die ähnlich aussehen (wenn mehrere verschiedene Zeichen in ein Zeichen übersetzt werden – beispielsweise werden die türkischen Zeichen „ı“ und „i“ bei der Konvertierung in Großbuchstaben zu „I“ konvertiert).

Bevor Anmeldeparameter geprüft werden, konvertieren einige Dienste und Anwendungen die vom Benutzer übermittelten Daten zunächst in Groß- oder Kleinschreibung und prüfen sie anschließend in der Datenbank. Erlaubt der Dienst die Verwendung von Unicode-Zeichen im Login oder in der E-Mail, kann ein Angreifer ähnliche Unicode-Zeichen verwenden, um einen Angriff durchzuführen, indem er Kollisionen in den Tabellen zur Zeichenkonvertierung (Unicode Case Mapping Collisions) manipuliert.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@Github.com'.toUpperCase() == 'John@Github.com'.toUpperCase()

In GitHub Angreifer könnte Initiieren Sie über das Formular zur Wiederherstellung vergessener Passwörter das Senden des Wiederherstellungscodes an eine andere E-Mail-Adresse, indem Sie im Formular eine Adresse angeben, die ein Unicode-Zeichen enthält, das eine Kollision verursacht (z. B. wurde anstelle von mike@example.org die E-Mail-Adresse m angegeben).ıke@example.org). Die Adresse wurde verifiziert, da sie in Großbuchstaben umgewandelt wurde und mit der ursprünglichen Adresse (mike@example.org) übereinstimmte. Beim Senden des Briefes wurde sie jedoch unverändert ersetzt und der Wiederherstellungscode an eine gefälschte Adresse gesendet (mıke@example.org).

Einige Zeichen, was zu Kollisionen bei der Registerkonvertierung führt:

ß 0x00DFSS
0x0131 Ich
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster