Quando dovrei usare l'header di origine contro la direttiva SameSite vs il token csrf per la difesa di CSRF

2

Quando avrebbe più senso per:

  1. controlla l'intestazione di origine
  2. usa un token CSRF (in doppia sottomissione o qualcosa di simile)
  3. Utilizza la direttiva sui cookie SameSite

per la difesa CSRF. Il controllo dell'intestazione di origine sembra offrire la massima versatilità rispetto agli altri due, quindi non sono sicuro del motivo per cui vorrei utilizzare gli altri due a meno che non mi fidi del browser per forzare l'origine a causa di un errore flash o qualcosa (nel qual caso userò il token CSRF).

    
posta winhowes 15.12.2017 - 00:25
fonte

1 risposta

2

OWASP ha una serie di consigli per trattare con CSRF:

link

Tu puoi utilizzare solo un controllo Origine e Referente per la protezione CSRF senza altre misure, se nel raro caso in cui non ricevi nessuna intestazione, devi semplicemente bloccare la richiesta. Una volta era comune per gli utenti spoofare o disabilitare l'invio di intestazioni di Referer per motivi di privacy, e i browser più vecchi potrebbero non inviare l'intestazione Origin. Questo probabilmente non ha molta importanza nel 2017, ma dipende dalle tue esigenze.

Devi essere in grado di estrarre le informazioni rilevanti dell'origine (ad es. nome host) da entrambe le intestazioni (che possono includere un'intestazione completa di Referer) e confrontarle con l'origine di destinazione in modo robusto.

Ritengo che un cookie con doppia immissione (ad esempio token e cookie generati casualmente ogni volta) possa essere più semplice da implementare.

    
risposta data 15.12.2017 - 01:16
fonte

Leggi altre domande sui tag