Utilizzo di simboli Unicode simili per eludere l'autenticazione

GitHub risultato sottoposto ad attacco, che consente di accedere all'account tramite la manipolazione di simboli Unicode nell'email. Il problema è dovuto al fatto che alcuni simboli Unicode, quando vengono applicate funzioni di conversione in maiuscole o minuscole, vengono tradotti in simboli comuni, simili nella scrittura (quando più simboli diversi vengono tradotti in un simbolo – ad esempio, il simbolo turco «ı» e «i» quando convertiti in maiuscolo si trasformano in «I»).

Prima di controllare i parametri di accesso, in alcuni servizi e applicazioni, i dati forniti dall'utente vengono prima convertiti in maiuscolo o minuscolo e poi verificati nel database. Se il servizio consente l'uso di simboli Unicode nel login o nell'email, l'attaccante può utilizzare simboli Unicode simili per attuare un attacco che manipola le collisioni nelle tabelle di conversione delle maiuscole (Collisioni di Mapping dei Casi Unicode).

‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()

In GitHub, l'attaccante poteva iniziare l'invio di un codice di recupero a un'altra email tramite un modulo di recupero password dimenticata, specificando un indirizzo che includeva un simbolo Unicode che provoca una collisione (ad esempio, invece di mike@example.org, veniva specificato l'email mıke@example.org). L'indirizzo passava il controllo poiché veniva convertito in maiuscolo e corrispondeva all'indirizzo originale (mike@example.org), ma quando veniva inviata l'email, veniva sostituito tale e quale e il codice di recupero andava a un indirizzo falso (mıke@example.org).

Alcuni dei simboli, che causano collisioni nella conversione delle maiuscole:

ß 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

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster