comprensión de la prevención CSRF

0

Estaba buscando información sobre los ataques CSRF y estoy pensando en el concepto de prevención "token de forma aleatoria".

Digamos que cada formulario tiene un "token oculto" dentro y el servidor comprueba el token antes que nada. Ahora digamos que hay un formulario http://myWebsite.e.x/acccount/edit y se supone que se debe enviar.

El atacante puede crear un iFrame de este formulario en su sitio web (token generado), ocultarlo y luego enviarlo con JavaScript (y las cookies de la víctima).

¿Qué me estoy perdiendo aquí?

    
pregunta Tsalikidis 21.02.2014 - 13:29
fuente

2 respuestas

5

Te estás perdiendo la política del mismo origen . Para que su escenario funcione, los atacantes necesitan el código JavaScript de su página para poder acceder al iFrame. Eso no es posible.

Recuerde esta regla: una ventana / marco no puede comunicarse con otra ventana / marco sin que la ventana / marco objetivo lo permita (mediante el uso de messaging , por ejemplo).

En su caso, el marco de destino no lo permitirá. Por lo tanto, el atacante no podrá acceder al DOM de iFrame para agarrar el token. Tampoco puede enviar formularios o enviar solicitudes a través del iFrame mediante programación.

    
respondido por el Adi 21.02.2014 - 14:00
fuente
0

Cuando el usuario visita el sitio legítimo, el servidor genera un token aleatorio y lo incrusta en el formulario. Para que el servidor acepte un envío de formulario, el token válido debe enviarse junto con el resto de los datos.

Cuando el atacante crea el formulario falso en el sitio malicioso, no tiene conocimiento de este token y no puede insertarlo. Esto hace que el servidor de destino rechace el envío del formulario.

El atacante no usaría un iframe para cargar el formulario original. Crean y envían su propio formulario que hereda la identidad del usuario. El token permite que el servidor de destino sepa que el envío no es de una forma legítima.

    
respondido por el Scott Helme 21.02.2014 - 14:04
fuente

Lea otras preguntas en las etiquetas