Potenziali vettori di attacco che utilizzano Javascript per accedere [chiuso]

2

Vorrei consentire agli utenti di un sito Web di accedere a qualsiasi pagina.

Per fornire un'esperienza senza intoppi, il mio primo pensiero è stato quello di raccogliere le credenziali dell'utente (nome utente e password) in una forma dinamica e quindi autenticare l'utente tramite una chiamata API (https) eseguita utilizzando Javascript.

Tuttavia non sono sicuro della sicurezza di questo approccio.

È uno scenario sicuro? Quali sono i potenziali attacchi vettoriali? Quali sono le migliori alternative?

[modifica per fornire ulteriori dettagli]

Dalla risposta di @ Xander ottengo che chiamare un'API da javascript non è di per sé insicuro. Tuttavia vorrei sapere come impostare un cookie di accesso in modo sicuro dopo una chiamata riuscita all'API

Grazie

    
posta securityCurious 08.04.2015 - 22:55
fonte

1 risposta

2

Quindi, lo scenario di base che proponi è quello di inviare credenziali da un browser, al tuo server web. Quindi, abbiamo a che fare con HTML e Javascript e risorse associate nel browser, e la comunicazione è su HTTP / HTTPS. Queste sono le uniche componenti rilevanti per la specifica funzione in questione.

E infatti, il fatto che tu stia utilizzando JavaScript per inviare le credenziali a un endpoint dell'API o che usi un modulo HTML per inviarlo a una pagina è di per sé materialmente irrilevante.

Gli unici due punti su cui siamo particolarmente preoccupati sono:

  1. Il contenuto (HTML, JavaScript, risorse) fornito al browser è autentico? In altre parole, l'utente otterrà l'HTML e il JavaScript che intendiamo inviare, che in effetti invierà le credenziali al nostro server Web e non a un server Web di attaccanti?
  2. Le credenziali che l'utente invia alla nostra API sono segrete e sicure?

Il modo di rispondere "Sì" a entrambe queste domande è HTTPS. Ciò significa che non solo devi utilizzare HTTPS per inviare le credenziali all'API, ma devi anche utilizzarlo per fornire all'utente la pagina di accesso, il JavaScript per la pagina di accesso e qualsiasi altra risorsa sulla pagina di accesso, quindi non può essere modificato da un attaccante attivo.

Quindi, per questa funzione di ambito molto limitato, se si utilizzano HTTPS e HTTPS da soli per proteggere la trasmissione di tutti i dati in entrambe le direzioni, sarà sicuro.

    
risposta data 08.04.2015 - 23:36
fonte

Leggi altre domande sui tag