2014-09-03 9 views
6

Ho sviluppato un'app (ios e web app) su Parse negli ultimi mesi e ho appena scoperto come funzionano i token di sessione. Questo è quello che ho imparato finora:sicurezza token di sessione parse.com

  • Ogni utente ha la propria sessione di token
  • Il token viene utilizzato per sostituire le credenziali dell'utente (per l'autenticazione) quando si effettua la richiesta al server
  • Il token mai modifiche (anche quando la password viene ripristinata) e non scade mai
  • Il token viene memorizzato localmente sul lato client quando si effettua l'accesso
  • L'utente può accedere con il metodo Parse.User.become (sessiontoken, opzioni), con solo il gettone di sessione

Mi sembra molto insicuro o mi manca qualcosa? Sembra che se qualcuno riesce a ottenere questo token ha accesso eterno all'account degli utenti, anche se il nome utente e/o la password sono cambiati?

Grazie,

Mario

+1

Se gettone funziona davvero in questo modo, allora sì - sembra mortale non protetta. – Regent

+0

true; pensa alle webapps che usi dove il cookie fa più o meno la stessa cosa ?? –

+0

è possibile utilizzare l'opzione revokeSessionOnPasswordReset nella configurazione parse-server –

risposta

2

Inoltre ho ricontrollato il token di sessione tornato da REST API & Android client. È lo stesso. Anche dopo aver cambiato la password.

Questo è sicuramente un potenziale problema di sicurezza. Chiunque sia rubato a un dispositivo mobile, l'hacker potrebbe ottenere il token di sessione se la sessione non è crittografata e la sicurezza dei dati dell'utente è in pericolo per sempre.

Come l'hacker potrebbe utilizzare il token di sessione da qualsiasi client per sempre. Non saprai mai quando l'hacker farà il male. Sono seriamente preoccupato per il problema. Spero che qualcuno lo affronterà.

PS: Ciao Mario, ho registrato un problema sulla piattaforma di sviluppo di Facebook.

https://developers.facebook.com/bugs/309490399239393/

speranza che qualcuno traccerà e risolverlo alla fine.

+0

Potresti modificare questo post per reindirizzare alla discussione che hai ottenuto all'indirizzo https://groups.google.com/forum/#!topic/parse-developers/qjvKJYikHQ8 e lo farò accettalo come risposta. Grazie! – Mario

+1

Sembra che il "token di sessione" dell'utente sia in realtà l'ID del database del record utente all'interno di Parse. Se è così, il problema non è che non cambi mai, ma che tu possa 'diventare' l'utente senza alcuna barriera di autenticazione. – wberry