GitHub կայացավ հարձակման, որը հնարավորություն է տալիս ձեռք բերել մուտքի հասանելիություն հաշիվին՝ էլփոստի մեջ արտահերթ Unicode-շրջաններից օգտվելու միջոցով: Խնդիրը կապված է այն իրողության հետ, որ որոշ Unicode-շրջաններ սահմանի թերության ներգրավելիս վերածվում են ընդհանուր շրջանների, որոնք նման են արտահայտությամբ (երբ մի քանի տարբեր շրջաններ վերածվում են մեկ շրջանի՝ օրինակ, թուրքական «ı» և «i» վերա¬ծվում են «I»):
Մուտքային պարամետրերը որոշ ծառայություններում և ծրագրերում նախապես վերածվում են վերին կամ ստորին գրություն, և ապա ստուգվում են տվյալների բազայում: Եթե ծառայությունը թույլ է տալիս Unicode-շրջանների կիրառումը գրությունում կամ էլփոստում, ապա հարձակում իրականացնողը կարող է օգտագործել նմանակող Unicode-շրջաններ հարձակման համար, որոնք մանիպուլացնում են միասնականության գրանցման շրջանների (Unicode Case Mapping Collisions) միջադեպերը:
‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()
GitHub-ում հարձակվողը կրկին հաղորդելու ձևի միջոցով մոռացված գաղտնաբառի վերականգնման կոդը ուղարկել այլ էլփոստի՝ նշելով ձևում գործածվող տվյալը, որը ներառում է Unicode-շրջան, որը կհանգեցնի խառնաշփոթի (օրինակ, փոխարեն mike@example.org նշվում էր էլփոստ mıke@example.org): Ընդհանուրի՝ հասցեն ստուգվում էր, քանի որ վերածվում էր վերի գրության և համընկնում էր նախատեսված հասցեի (mike@example.org) հետ, սակայն նամակ ուղարկելու ժամանակ այդպես էլ մնում էր, և վերականգնման կոդը ուղակվում էր կեղծ հասցեով (mıke@example.org).
Որոշ , որոնք առաջացնում են խառնաշփոթ վերածման գործընթացում:
ß 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
