GitHub rĂŒnnaku ohvriks, mis vĂ”imaldab pÀÀseda kasutajakontole lĂ€bi Unicode-mĂ€rkidega manipuleerimise e-kirjas. Probleem seisneb selles, et mĂ”ned Unicode-mĂ€rgid muudetakse vĂ€ikeste vĂ”i suurte tĂ€htede funktsioonide rakendamise puhul tavalisteks mĂ€rkideks, mis on sarnased (kui mitmed erinevad mĂ€rgid muudetakse ĂŒheks mĂ€rgiks â nĂ€iteks TĂŒrgi mĂ€rk «ı» ja «i» muudetakse suurtĂ€heks «I»).
Enne sisselogimise parameetrite kontrollimist mĂ”nedes teenustes ja rakendustes muudetakse kasutaja edastatud andmed alguses suur- vĂ”i vĂ€iketĂ€heks ning seejĂ€rel kontrollitakse andmebaasis. Kui teenus lubab Unicode-mĂ€rkide kasutamist logi- vĂ”i e-posti aadressis, vĂ”ib rĂŒndaja kasutada sarnaseid Unicode-mĂ€rke rĂŒnnaku sooritamiseks, mis manipuleerib mĂ€rkide suuruse muutmise tabelite kokkulangemistega (Unicode Case Mapping Collisions).
âĂâ.toUpperCase() == âssâ.toUpperCase() // 0x0131
ââȘâ.toLowerCase() == âKâ.toLowerCase() // 0x212A
âJohn@Gıthub.comâ.toUpperCase() == âJohn@Github.comâ.toUpperCase()
GitHubis rĂŒndaja aktiveerida taastamise koodi saatmine teisele e-posti aadressile, kasutades taastamise vormis aadressi, milles on unicode-mĂ€rk, mis pĂ”hjustab konflikti (nĂ€iteks, kui mike@example.org asemel kasutati e-posti aadressi mıke@example.org). Aadress lĂ€bis kontrolli, kuna see muudeti suurteks tĂ€htedeks ja kattus algse aadressiga (mike@example.org), kuid e-kirja saatmisel tehti see nii ja taastamiskood saadeti valele aadressile (mıke@example.org).
MÔned , mis pÔhjustavad konflikte suuruse muutmisega:
Ă 0x00DF SS
ı 0x0131 I
Ćż 0x017F S
ïŹ 0xFB00 FF
ïŹ 0xFB01 FI
ïŹ 0xFB02 FL
ïŹ 0xFB03 FFI
ïŹ 0xFB04 FFL
ïŹ
0xFB05 ST
ïŹ 0xFB06 ST
âȘ 0x212A k
Allikas: opennet.ru
