GitHub i ndjeshĂ«m ndaj njĂ« sulmi qĂ« lejon kapjen e qasjes nĂ« llogari pĂ«rmes manipulimit me simbolet Unicode nĂ« email. Problemi lidhet me faktin se disa simbole Unicode, kur pĂ«rdoren nĂ« funksionet e konvertimit nĂ« shkronja tĂ« vogla ose tĂ« mĂ«dha, shndĂ«rrohen nĂ« simbole tĂ« zakonshme, tĂ« ngjashme (kur disa simbole tĂ« ndryshme kthehen nĂ« njĂ« simbol â pĂ«r shembull, simboli turk 'ı' dhe 'i' kur konvertohen nĂ« shkronjĂ«n e madhe bĂ«hen 'I').
Para se të kontrollohen parametrat e hyrjes në disa shërbime dhe aplikacione, të dhënat e dërguara nga përdoruesi fillimisht konvertohen në shkronja të mëdha ose të vogla dhe pastaj kontrollohen në bazën e të dhënave. Nëse shërbimi lejon përdorimin e simboleve unicode në emrin e përdoruesit ose email, atëherë sulmuesi mund të përdorë simbole unicode të ngjashme për të kryer sulmin, që manipulton kolizionet në tabelat e konvertimit të shkronjave (Kolizionet e Hartimit të Rastit Unicode).
âĂâ.toUpperCase() == âssâ.toUpperCase() // 0x0131
ââȘâ.toLowerCase() == âKâ.toLowerCase() // 0x212A
âJohn@Gıthub.comâ.toUpperCase() == âJohn@Github.comâ.toUpperCase()
Në GitHub, sulmuesi përmes formularit për rikuperimin e fjalëkalimit të harruar, për të iniciuar dërgimin e kodit të rikuperimit në një email tjetër duke treguar në formular një adresë që përmban një simbol unikod që shkakton kolizion (për shembull, në vend të mike@example.org, u shfaq adresa e emailit mıke@example.org). Adresa kaloi kontrollin sepse u transformua në shkronja të mëdha dhe përputhej me adresën origjinale (mike@example.org), por kur dërgohej emaili, ajo u fut siç ishte dhe kodi i rikuperimit u dërgua në adresën e rreme (mıke@example.org).
Disa nga , që shkaktojnë kolizioni gjatë transformimit të rastit:
Ă 0x00DF SS
ı 0x0131 I
Ćż 0x017F S
ïŹ 0xFB00 FF
ïŹ 0xFB01 FI
ïŹ 0xFB02 FL
ïŹ 0xFB03 FFI
ïŹ 0xFB04 FFL
ïŹ
0xFB05 ST
ïŹ 0xFB06 ST
âȘ 0x212A k
Burimi: opennet.ru
