Paggamit sa Susama nga Unicode nga mga Karakter sa Bypass Authentication

GitHub nahimo nga delikado sa usa ka pag-atake nga nagtugot kanimo sa pag-ilog sa pag-access sa usa ka account pinaagi sa pagmaniobra sa mga karakter sa Unicode sa email. Ang problema mao nga ang pipila ka mga Unicode nga mga karakter, sa diha nga ang paggamit sa lowercase o uppercase nga mga function sa pagkakabig, gihubad ngadto sa regular nga mga karakter nga susama sa estilo (sa diha nga ang pipila ka lain-laing mga karakter gihubad ngadto sa usa ka karakter - pananglitan, ang Turkish nga karakter "Δ±" ug "i " kung gi-convert sa upper case ma-convert sa "I").

Sa dili pa susihon ang mga parameter sa pag-login sa pipila ka mga serbisyo ug aplikasyon, ang datos nga gihatag sa tiggamit una nga nakabig sa taas o gamay nga letra ug dayon susihon sa database. Kung gitugotan sa usa ka serbisyo ang paggamit sa mga karakter nga unicode sa usa ka pag-login o email, nan ang usa ka tig-atake mahimong mogamit parehas nga mga karakter sa unicode aron mahimo ang usa ka pag-atake nga nagmaniobra sa mga bangga sa Unicode Case Mapping Collisions.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@GΔ±thub.com'.toUpperCase() == '[protektado sa email]'.toUpperCase()

Attacker sa GitHub mahimo pinaagi sa porma alang sa pagbawi sa usa ka nakalimtan nga password, sugdi ang pagpadala sa usa ka recovery code sa laing email pinaagi sa pagpakita sa porma sa usa ka adres nga naglakip sa usa ka unicode nga karakter nga maoy hinungdan sa usa ka bangga (pananglitan, inay sa [protektado sa email] email m gipakitaΔ±[protektado sa email]). Ang adres nakapasar sa pagsulay tungod kay kini gikabig ngadto sa uppercase ug gipares sa orihinal nga adres ([protektado sa email] ), apan sa dihang gipadala ang sulat gipulihan kini ug ang recovery code gipadala ngadto sa peke nga adres (mΔ±[protektado sa email]).

Ang uban sa mga karakter, hinungdan sa mga pagbangga sa pag-convert sa rehistro:

ß 0x00DF SS
ako 0x0131 ako
ΕΏ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ο¬… 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Source: opennet.ru

Idugang sa usa ka comment