Perché sono inclusi tutti i cookie con lo stesso nome quando vengono richiesti dal server? Non aumenta le probabilità di violazione dell'integrità del cookie?

0

I cookie sono impostati e memorizzati come nome / dominio / percorso per il mapping degli attributi di valore, ma solo le coppie nome-valore sono presentate a entrambi i server JavaScript e Web. Questa asimmetria consente ai cookie con lo stesso nome ma diversi domini e / o ambiti di percorso da scrivere nel browser; un lettore successivo può leggere insieme tutti i cookie con lo stesso nome, ma non può distinguerli perché gli altri attributi come il percorso non sono presentati nel processo di lettura.

    
posta Muhammad Faraz 01.11.2016 - 08:55
fonte

2 risposte

1

Lo stesso criterio di origine crea un limite di sicurezza per i dati lato client definiti da protocollo, porta e dominio.

Lo stesso criterio di origine per i cookie è leggermente più lento, consentendo al protocollo e alla porta di differire, e il dominio può facoltativamente condividere cookie con sottodomini. Nota, come dici tu, questo è opzionale solo per lo scrittore di cookie, non per il lettore.

Cioè, foo.example.com può scrivere un cookie che example.com può leggere, anche se non lo desidera.

La soluzione a questo è di avere solo un'applicazione per dominio. In questo modo due applicazioni non possono impostare i cookie l'una per l'altra.

per es. Vulnerabile

Applicazione in esecuzione su example.com/foo che può impostare i cookie impostati per example.com/bar

Non vulnerabile

Applicazione in esecuzione su foo.example.com - completamente isolata da bar.example.org

    
risposta data 03.11.2016 - 20:15
fonte
0

Questo non è un problema.

A causa della Same Same Policy , gli script client (ad esempio JavaScript) dovrebbero essere in grado di leggere e scrivere cookie appartenenti al dominio corrente. Quindi, per lo script del client che interagisce con il cookie, esiste un solo cookie per nome - non dovrebbe nemmeno essere a conoscenza dei cookie per altri domini. Pertanto non è necessario specificare da quale dominio sta leggendo i cookie: è sempre quello corrente.

Richiedere che sia specificato sarebbe come la tua chiave dell'automobile che ti chiede quale auto desideri sbloccare ogni volta che premi il pulsante di sblocco: ovviamente è la tua auto, l'unica che la chiave può sbloccare.

Analogamente, quando il browser invia una richiesta a http://example.com , include solo i cookie per example.com e nessun cookie appartenente ad altri domini anche se hanno lo stesso nome di example.com cookie. Un browser che fa qualcos'altro sarebbe un grave malfunzionamento e un problema di sicurezza critico, ma per quanto ne so nessuno dei principali produttori di browser ha finora incasinato così male.

Non so che tipo di "lettori successivi" di cui stai parlando. Solo il browser deve leggere i cookie ed è responsabilità del browser applicare la SOP.

(Sottodomini rende questo leggermente più complicato, ma penso che sia oltre il punto della tua domanda.)

    
risposta data 01.11.2016 - 09:17
fonte

Leggi altre domande sui tag