security - without - Pregunta básica de cookies y CSRF
html form without csrf protection (2)
A lo que se refiere es al patrón de token sincronizador. Lo que generalmente significa es que un formulario contiene un campo oculto con un valor que es exclusivo de la sesión de ese usuario. El mismo valor se almacena en una cookie en la máquina del usuario. Cuando se envía el formulario, se verifican ambos valores para una coincidencia.
La ventaja de este enfoque es que si un sitio web malicioso intenta construir una solicitud posterior al sitio web legítimo, no conocerá ese valor de formulario oculto. Es un proceso completamente más complejo para obtener esto.
El sitio atacante no puede leer ni manipular el valor de la cookie porque fue emitido desde otro dominio. Más sobre esto (incluyendo un ejemplo trabajado) aquí: OWASP Top 10 para desarrolladores de .NET parte 5: Falsificación de solicitudes entre sitios (CSRF)
Actualmente estoy aprendiendo más sobre CSRF y tengo una pregunta básica sobre las cookies. Del artículo de Jeff Atwood sobre CSRF :
"Cuando se envía una solicitud POST al sitio, la solicitud solo debe considerarse válida si el valor del formulario y el valor de la cookie son los mismos. Cuando un atacante envía un formulario en nombre de un usuario, solo puede modificar los valores del El atacante no puede leer ningún dato enviado desde el servidor ni modificar los valores de las cookies, de acuerdo con la política del mismo origen. Esto significa que mientras un atacante puede enviar cualquier valor que desee con el formulario, no podrá modificar ni leer el valor almacenado en la cookie ".
Si las cookies son una pieza de texto almacenada en la computadora de un usuario , ¿cómo no pueden modificar / leer el valor de una cookie ?
Si supieran el valor de la cookie y pudieran ver un valor pseudoaleatorio oculto en una forma, ¿no tendrían todo lo que necesitan para realizar un ataque?
Gracias,
La misma política de origen significa que un sitio web atacante no puede leer las cookies de otro dominio. Ver http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies
No hablamos de un atacante que tiene un rootkit o algo por el estilo en la computadora de un usuario, lo que CSRF protege es un servidor malicioso que tiene un usuario que envía un formulario a través de una solicitud POST a un dominio que el servidor malicioso quiere atacar . Debido a que el servidor malicioso no puede leer la cookie del dominio objetivo, no puede completar correctamente el campo CSRF para la solicitud POST que están realizando.