Аутентификацияны айналып өту үшін ұқсас Юникод таңбаларын пайдалану

GitHub пайда болды электрондық поштадағы Юникод таңбаларымен манипуляциялау арқылы тіркелгіге кіру рұқсатын алуға мүмкіндік беретін шабуылға бейім. Мәселе мынада, кейбір Юникод таңбалары кіші әріптерді немесе бас әріптерді түрлендіру функцияларын пайдаланған кезде, стилі ұқсас қалыпты таңбаларға аударылады (бірнеше түрлі таңбалар бір таңбаға аударылғанда – мысалы, түрік тіліндегі «ı» және «i» таңбалары « бас регистрге ауыстырылғанда «I» түрленеді).

Кейбір қызметтер мен қолданбаларда кіру параметрлерін тексермес бұрын, пайдаланушы берген деректер алдымен үлкен немесе кіші әріпке түрлендіріледі, содан кейін дерекқорда тексеріледі. Егер қызмет логинде немесе электрондық поштада юникод таңбаларын пайдалануға рұқсат етсе, шабуылдаушы Unicode Case Mapping Conlisions ішіндегі соқтығыстарды басқаратын шабуылды орындау үшін ұқсас юникод таңбаларын пайдалана алады.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@Gıthub.com'.toUpperCase() == '[электрондық пошта қорғалған]'.toUpperCase()

GitHub сайтындағы шабуылдаушы мүмкін ұмытылған құпия сөзді қалпына келтіру пішіні арқылы пішінде соқтығысты тудыратын юникод таңбасын қамтитын мекенжайды көрсету арқылы қалпына келтіру кодын басқа электрондық поштаға жіберуді бастаңыз (мысалы, [электрондық пошта қорғалған] электрондық пошта m көрсетілгенı[электрондық пошта қорғалған]). Мекенжай сынақтан өтті, себебі ол бас әріпке ауыстырылды және бастапқы мекенжайға сәйкес келді ([электрондық пошта қорғалған] ), бірақ хатты жіберу кезінде ол бұрынғыдай ауыстырылды және қалпына келтіру коды жалған мекенжайға жіберілді (mı[электрондық пошта қорғалған]).

Кейбір символдар, регистрді түрлендіру кезінде соқтығыстарды тудыратын:

ß 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

Ақпарат көзі: opennet.ru

пікір қалдыру