Notaðu svipaða Unicode stafi til að komast framhjá auðkenningu

GitHub reyndist vera er næm fyrir árás sem gerir þér kleift að grípa aðgang að reikningi með því að nota Unicode stafi í tölvupósti. Vandamálið er að sumir Unicode stafir, þegar notaðir eru lágstafir eða hástafir umreikningsaðgerðir, eru þýddir yfir í venjulega stafi sem eru svipaðir í stíl (þegar nokkrir mismunandi stafir eru þýddir í einn staf - til dæmis, tyrkneska stafurinn "í" og "i" " þegar þeim er breytt í hástafi er breytt í "I").

Áður en innskráningarfæribreytur eru skoðaðar í sumum þjónustum og forritum er gögnum sem notendur hafa lagt fram fyrst breytt í hástafi eða lágstafi og síðan athugað í gagnagrunninum. Ef þjónusta leyfir notkun unicode stafi í innskráningu eða tölvupósti, þá getur árásarmaður notað svipaða unicode stafi til að framkvæma árás sem vinnur á árekstrum í Unicode Case Mapping Collisions.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@Gıthub.com'.toUpperCase() == '[netvarið]'.toUpperCase()

Árásarmaður á GitHub gæti í gegnum eyðublaðið til að endurheimta gleymt lykilorð, byrjaðu að senda endurheimtarkóða í annan tölvupóst með því að tilgreina í eyðublaðinu heimilisfang sem inniheldur unicode staf sem veldur árekstri (til dæmis í stað þess að [netvarið] netfang m var gefið til kynnaı[netvarið]). Heimilisfangið stóðst prófið vegna þess að það var breytt í hástafi og passaði við upprunalega heimilisfangið ([netvarið] ), en þegar bréfið var sent var því skipt út eins og það er og endurheimtarkóði var sendur á falsað heimilisfang (mı[netvarið]).

Eitthvað af stafi, sem veldur árekstrum þegar skrá er umbreytt:

ß 0x00DF SS
ég 0x0131 ég
ſ 0x017F S
ff 0xFB00 FF
 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Heimild: opennet.ru

Bæta við athugasemd