Proprietà SameSite
A partire da Chrome 51, è stato aggiunto un nuovo attributo SameSite ai cookie del browser per prevenire attacchi CSRF e il tracciamento degli utenti (acquisizione dannosa di cookie da parte di terzi) e per limitare i cookie di terze parti, riducendo così i rischi di sicurezza.
SameSite definito nel RFC6265bis:Il login del link ipertestuale è visibile.
Informazioni sull'attacco CSRF Reso:
La proprietà SameSite può essere impostata su tre valori:Sever、Lax、Nessuno。
Severo: Vietare rigorosamente a terzi di ottenere i cookie e non inviare cookie in nessuna circostanza quando si interviene tra i setti; I cookie saranno inclusi solo se l'URL della pagina corrente corrisponde al target della richiesta. Questa regola è troppo severa e può causare un'esperienza utente molto negativa. Ad esempio, se c'è un link GitHub sulla pagina web attuale, gli utenti non avranno cookie GitHub quando cliccano sul jump, e il jump è sempre stato dislogato.
Trascurato: Prevenire il cross-site, nella maggior parte dei casi è vietato ottenere cookie, tranne che per le richieste GET (link, preload, moduli GET) che navigano verso l'URL di destinazione; Una volta impostato Severo o Lasso, gli attacchi CSRF vengono praticamente eliminati. Naturalmente, questo è a condizione che il browser utente supporti la proprietà SameSite.
Attributo SameSiteDefault: SameSite=Lax[Questa operazione si applica alle versioni successive al rilascio stabile di Chrome 80 da Google il 4 febbraio 2019]
Nessuno: Non c'è limite.
L'attributo Secure deve essere impostato (i cookie possono essere inviati solo tramite il protocollo HTTPS), altrimenti non sarà valido. [Questa operazione si applica alle versioni successive al rilascio stabile di Chrome 80 da Google il 4 febbraio 2019]
Testa la proprietà SameSite
Carichiamo dinamicamente un'immagine del sito A tramite la console F12 al sito A, il codice è il seguente:
Dalla richiesta di rete possiamo vedere che quando il sito A richiede un'immagine del nome di dominio del sito A, questoPorta i biscotti(SameSite non ha impostazioni, cioè Lax), come mostrato nell'immagine sottostante:
Troviamo casualmente un sito B, poi carichiamo dinamicamente l'immagine del sito A e lo troviamoNon portandoQualsiasi cookie, come mostrato qui sotto:
(Fine)
|