Χρήση παρόμοιων χαρακτήρων Unicode για παράκαμψη ελέγχου ταυτότητας
GitHub γύρισε είναι επιρρεπής σε επίθεση που σας επιτρέπει να αδράξετε την πρόσβαση σε έναν λογαριασμό μέσω χειραγώγησης χαρακτήρων Unicode στο email. Το πρόβλημα είναι ότι ορισμένοι χαρακτήρες Unicode, όταν χρησιμοποιούν τις συναρτήσεις μετατροπής πεζών ή κεφαλαίων, μεταφράζονται σε κανονικούς χαρακτήρες παρόμοιου στυλ (όταν πολλοί διαφορετικοί χαρακτήρες μεταφράζονται σε έναν χαρακτήρα - για παράδειγμα, ο τουρκικός χαρακτήρας "ı" και "i " όταν μετατρέπονται σε κεφαλαία μετατρέπονται σε "I").
Πριν από τον έλεγχο των παραμέτρων σύνδεσης σε ορισμένες υπηρεσίες και εφαρμογές, τα δεδομένα που παρέχονται από τον χρήστη μετατρέπονται πρώτα σε κεφαλαία ή πεζά και στη συνέχεια ελέγχονται στη βάση δεδομένων. Εάν μια υπηρεσία επιτρέπει τη χρήση χαρακτήρων unicode σε μια σύνδεση ή ένα email, τότε ένας εισβολέας μπορεί να χρησιμοποιήσει παρόμοιους χαρακτήρες unicode για να πραγματοποιήσει μια επίθεση που χειρίζεται τις συγκρούσεις σε Unicode Case Mapping Collisions.
Επιτιθέμενος στο GitHub θα μπορούσε μέσω της φόρμας για την ανάκτηση ενός ξεχασμένου κωδικού πρόσβασης, ξεκινήστε την αποστολή ενός κωδικού ανάκτησης σε άλλο email υποδεικνύοντας στη φόρμα μια διεύθυνση που περιλαμβάνει έναν χαρακτήρα unicode που προκαλεί σύγκρουση (για παράδειγμα, αντί για [προστασία μέσω email] email m υποδείχθηκεı[προστασία μέσω email]). Η διεύθυνση πέρασε τη δοκιμή επειδή μετατράπηκε σε κεφαλαία και ταίριαξε με την αρχική διεύθυνση ([προστασία μέσω email] ), αλλά κατά την αποστολή της επιστολής αντικαταστάθηκε ως έχει και ο κωδικός ανάκτησης στάλθηκε σε ψεύτικη διεύθυνση (mı[προστασία μέσω email]).
Μερικά απο χαρακτήρες, που προκαλεί συγκρούσεις κατά τη μετατροπή καταχωρητή:
ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
0xFB00 FF
0xFB01 FI
0xFB02 FL
0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k