¿Por qué se incluyen todas las cookies con el mismo nombre cuando las solicita el servidor? ¿No aumenta las posibilidades de violación de integridad de la cocinera?

0

Las cookies se configuran y almacenan como un nombre / dominio / ruta a la asignación de atributos de valor, pero solo los pares nombre-valor se presentan a los servidores de JavaScript y web. Esta asimetría permite que las cookies con el mismo nombre pero con diferentes dominios y / o ámbitos de ruta se escriban en el navegador; un lector posterior puede leer todas las cookies del mismo nombre, pero no puede distinguirlas porque los otros atributos, como la ruta, no se presentan en el proceso de lectura.

    
pregunta Muhammad Faraz 01.11.2016 - 08:55
fuente

2 respuestas

1

La Política del mismo origen crea un límite de seguridad para los datos del lado del cliente definidos por protocolo, puerto y dominio.

La Política del mismo origen para las cookies es un poco más flexible, lo que permite que el protocolo y el puerto sean diferentes, y el dominio puede compartir cookies de manera opcional con subdominios. Tenga en cuenta que, como usted dice, esto es opcional solo para el creador de cookies, no para el lector.

Es decir, foo.example.com puede escribir una cookie que example.com puede leer, incluso si no quiere hacerlo.

La solución a esto es tener solo una aplicación por dominio. De esa manera, dos aplicaciones no pueden establecer cookies entre sí.

por ejemplo Vulnerable

La aplicación se ejecuta en example.com/foo que puede configurar cookies para example.com/bar

No vulnerable

La aplicación se ejecuta en foo.example.com - esto está completamente aislado de bar.example.org

    
respondido por el SilverlightFox 03.11.2016 - 20:15
fuente
0

Esto no es un problema.

Debido a la Same Origin Policy , los scripts del cliente (por ejemplo, JavaScript) solo deben poder leer y escribir Cookies pertenecientes al dominio actual. Por lo tanto, para la secuencia de comandos del cliente que interactúa con la cookie, solo hay una cookie por nombre, que ni siquiera debería conocer las cookies de otros dominios. Por lo tanto, no es necesario especificar de qué dominio está leyendo las cookies, siempre es el actual.

Requerir que se especifique sería como la llave de su auto, preguntándole qué carro desea desbloquear cada vez que presione el botón de desbloqueo. Obviamente, es su carro, el único carro que la llave puede desbloquear.

De manera similar, cuando el navegador envía una solicitud a http://example.com , solo incluye cookies para example.com , y no cookies pertenecientes a otros dominios, incluso si tienen el mismo nombre que example.com cookies. Un navegador que haga cualquier otra cosa sería un mal funcionamiento importante y un problema de seguridad crítico, pero que yo sepa, ningún proveedor de navegadores importante lo ha estropeado tanto.

No sé de qué tipo de "lectores posteriores" está hablando. Solo el navegador debe leer las cookies, y es responsabilidad del navegador hacer cumplir el SOP.

(Los subdominios hacen que esto sea un poco más complicado, pero creo que eso no viene al caso de tu pregunta).

    
respondido por el Anders 01.11.2016 - 09:17
fuente

Lea otras preguntas en las etiquetas