L'utente può inviare una richiesta falsa se ha un token JWT?

8

Ho sviluppato un'applicazione Android che richiede un servizio REST per le azioni!

Le mie domande sono:

  1. Se qualcuno traccia le richieste e le risposte, può ottenere il token dalle intestazioni?
  2. Dove posso memorizzare il token nel client Android?
  3. Se immagazzino token in un posto come SharedPreferences e accesso utente, può inviare una richiesta falsa al server! Ad esempio, ho il controller per l'invio di punteggio come questo: " link " e l'utente può effettuare una richiesta con token nell'intestazione e nel post un numero per il punteggio e facilmente inviare punteggi per se stesso!
posta Saman Sadeghpour 25.04.2015 - 14:34
fonte

1 risposta

8

If anyone trace the requests and responses, Can he get the token from headers?

Se un attaccante è in una posizione adatta per eseguire un attacco MitM (Man in the Middle) ed è in grado di intercettare e visualizzare le richieste, allora sì, possono ottenere il token dalle intestazioni. Per evitare ciò, assicurati che il servizio REST in uso sia utilizzando SSL / TLS . Ciò impedirà MitM e riprodurrà gli attacchi. Il servizio REST deve inoltre assicurarsi che questi token siano correttamente invalidati sul lato server una volta che l'utente si disconnette e ci dovrebbe essere un timeout della sessione rigido associato a questi token.

Where should I store token in android client?

È possibile memorizzarli nelle SharedPreferences dell'applicazione. Leggi questa risposta per ulteriori dettagli su di esso.

If I store token in somewhere like SharedPreferences and user access that He can send fake request to server!

Sì, un utente può farlo con il proprio token di sessione . Questo è esattamente ciò per cui viene utilizzato il token. Per quanto riguarda l'accesso a un controller limitato, è responsabilità del servizio assicurarsi che il controllo di accesso sia corretto sul lato server e che all'utente sia consentito solo eseguire richieste controllate verso un particolare endpoint.

Il problema è che se un utente malintenzionato ottiene il tuo token di sessione valido , sarà in grado di impersonarti sull'applicazione. Ma hai appena reso difficile il loro compito utilizzando SSL / TLS ovunque e assicurando che l'applicazione non perda il token di sessione in alcun modo (ad esempio, negli URL della richiesta).

    
risposta data 25.04.2015 - 17:18
fonte

Leggi altre domande sui tag