Sarnaste Unicode-mÀrkide kasutamine autentimise möödasÔiduks

GitHub osutunud 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 vĂ”is 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 sĂŒmbolit, 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

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster