Quello che trovo poco chiaro è COME hanno rubato il token di accesso e cosa c'entra la funzionalità di caricamento del video.
Ma non è questa la tua domanda. Vuoi sapere come un token di accesso fornisce l'accesso all'account di un altro utente. Ciò richiede alcune conoscenze su come un sito Web ti autentica e ti dà accesso. Gestione della sessione spiegata qui.
In un flusso normale, si autentica utilizzando una password, una bio-metrica, ecc. In cambio di un'autenticazione valida, si riceve un ID di sessione che viene spesso memorizzato in un cookie. Per ogni altra richiesta, aggiungi questo ID di sessione per dimostrare che sei lo stesso utente di uno che ha autenticato correttamente. Un token di accesso è fondamentalmente un identificatore di sessione. Viene fornito a un utente dopo l'autenticazione corretta. Al token può essere associato un determinato livello di privilegio. Ciò consente di ottenere un token di accesso con privilegi bassi quando si utilizza un'autenticazione debole come password o un token di accesso ad alto privilegio quando si utilizza un'autenticazione più strong come la bio-metrica. Probabilmente, la funzionalità view-as ti fornisce un token di accesso per un utente diverso da te (la persona che stai visualizzando come). A causa di qualche bug (non chiaro anche a me), questo token di accesso può essere collegato ad altre richieste e dare una risposta positiva.
Flusso normale:
- Autenticato.
- Ricevo un token di accesso.
- Prendo il mio profilo e allego il mio token di accesso come prova che sono la persona che ha autenticato.
- Ricevo le informazioni sul mio profilo.
Flusso di attacco:
1. Vedo come utente di destinazione.
2. In qualche modo ricevo un token di accesso per questo utente di destinazione.
3. Recupero 'il mio profilo' ma uso il token di accesso del mio utente di destinazione.
4. Ricevo le informazioni sul profilo dell'utente di destinazione.
L'intero concetto di token, SSO, sessione è più complesso e ho tagliato alcuni angoli. Un identificatore di sessione si riferisce spesso a una parte di informazioni sul server che alimenta il controllo di accesso con attributi utente per basare le decisioni di controllo dell'accesso su. Un token di accesso è spesso autonomo, nel senso che contiene gli attributi dell'utente eventualmente crittografati e firmati.