Verwendung ähnlicher Unicode-Zeichen zur Umgehung von Authentifizierungen

GitHub gesperrt ist anfällig für Angriffe, die den Zugriff auf Konten durch Manipulation von Unicode-Zeichen in E-Mails ermöglichen. Das Problem entsteht, weil einige Unicode-Zeichen bei der Anwendung von Funktionen zur Umwandlung in Groß- oder Kleinschreibung in gewöhnliche, ähnlich aussehende Zeichen übersetzt werden (wenn mehrere verschiedene Zeichen in ein Zeichen umgewandelt werden – zum Beispiel wird das türkische Zeichen «ı» und «i» bei der Großschreibung zu «I»).

Vor der Überprüfung der Anmeldedaten in einigen Diensten und Anwendungen werden die vom Benutzer eingegebenen Daten zunächst in Groß- oder Kleinschreibung umgewandelt und danach in der Datenbank überprüft. Wenn der Dienst die Verwendung von Unicode-Zeichen im Benutzernamen oder in der E-Mail-Adresse zulässt, kann ein Angreifer ähnliche Unicode-Zeichen verwenden, um eine Angriffstechnik anzuwenden, die mit Kollisionen in den Groß- und Kleinschreibungstabellen (Unicode Case Mapping Collisions) arbeitet.

‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()

Im GitHub konnte der Angreifer könnte Über das Formular zur Wiederherstellung des vergessenen Passworts kann der Versand eines Wiederherstellungscodes an eine andere E-Mail-Adresse initiiert werden, indem in das Formular eine Adresse eingegeben wird, die ein Unicode-Zeichen enthält, das eine Kollision verursacht (zum Beispiel statt mike@example.org wird die E-Mail mıke@example.org). Die Adresse wurde überprüft, da sie in Großbuchstaben umgewandelt wurde und mit der ursprünglichen Adresse (mike@example.org) übereinstimmte, jedoch wurde beim Versand der E-Mail die Adresse unverändert eingesetzt und der Wiederherstellungscode wurde an die gefälschte Adresse (mıke@example.org) gesendet.

Einige der Zeichen, die Kollisionen bei der Groß-/Kleinschreibung verursachen:

ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster