ataque csrf cuando la víctima no ha iniciado sesión

0

Si un atacante envía un código malicioso para el evento de cambio de estado a una víctima y la víctima abre ese enlace malicioso y hace clic en el botón de envío, ¿puede ocurrir el ataque cuando el usuario no ha iniciado sesión en la aplicación web atacada?

    
pregunta Irfan 16.01.2015 - 11:48
fuente

4 respuestas

1

Sí puede pasar. Muchas páginas se redirigen a la página de inicio de sesión cuando falla una solicitud que requiere autenticación debido a que el usuario no ha iniciado sesión.

Si el usuario no está lo suficientemente informado, podría intentar iniciar sesión pensando que es un inicio de sesión "normal" (y no un inicio de sesión provocado por una solicitud que requiere inicio de sesión). En muchos casos, la página de inicio de sesión luego de iniciar sesión, volverá a enviar la solicitud que inicialmente falló. Esto se puede lograr ya que la solicitud se guarda en una cookie, o la solicitud se guarda en una sesión vinculada a una cookie (como una publicación del foro) y luego se publica después de que el usuario inicia sesión.

Puede ser similar a un ataque de reparación de sesión, pero en cambio, toda la solicitud maliciosa se "arregla" durante el inicio de sesión.

El reenvío de solicitudes fallidas puede verse como un ejemplo en muchos foros de phpBB. Digamos que está respondiendo a un hilo, y su sesión expira. Luego presiona "Publicar", se te redirige a la página de inicio de sesión y luego vuelves a iniciar sesión. Después de eso, su publicación se publica, como si se hubiera "guardado" en el formulario de inicio de sesión. Sin embargo, phpBB emplea protección CSRF. Fue solo un ejemplo de cómo puede ocurrir un reenvío de este tipo.

En algunos casos raros, la solicitud se puede guardar en una cookie permanente, lo que hace que un "ataque CSRF no autenticado" sea muy peligroso. Esto es común con las tiendas web, que pueden guardar todo el carrito de la compra en una cookie permanente. Si una tienda en línea guardaría un pedido completado en una cookie permanente y la tienda en línea emplea una tarjeta de crédito guardada ("autorización de pago recurrente"), es muy posible que un usuario visite el sitio CSRF, presione el botón, y note que no pasa nada. Luego, días o meses más tarde, visite la tienda web e intente iniciar sesión, Voilá, se realiza un pedido inmediatamente debido a la cookie permanente, con la dirección de envío dirigida al atacante.

    
respondido por el sebastian nielsen 16.01.2015 - 23:11
fuente
1

Respuesta larga: Los ataques de falsificación de solicitudes de sitios cruzados solo se aplican después de la autenticación, ya que la intención del atacante es modificar un estado en un sistema back-end.

Cuando un usuario no está autenticado y hace clic en el enlace de un atacante cuyo objetivo es realizar un ataque CSRF, aparecerá la pantalla de inicio de sesión.

Respuesta corta: No

    
respondido por el Jeroen - IT Nerdbox 16.01.2015 - 12:02
fuente
0

Suponiendo que el ataque se dirige a una función que requiere autenticación y no hay otros problemas, como las credenciales predeterminadas o xss persistentes, etc., la respuesta es no. De lo contrario, la respuesta es "depende".

    
respondido por el wireghoul 16.01.2015 - 12:24
fuente
0

No, toda la idea de csrf es que un atacante actúa en nombre de un usuario autenticado. Si el usuario no está autenticado, al hacer clic en el enlace se producirá el mismo comportamiento que si el atacante hubiera hecho clic en él.

En general, esto significa que se mostrará una pantalla de inicio de sesión. Dependiendo del sitio web, podría ser posible, que la acción deseada se ejecute después de que las credenciales de inicio de sesión se suministren a la pantalla de inicio de sesión, por lo que si un usuario ingresa sus credenciales, el ataque csrf aún podría funcionar en su ejemplo.

Pero en general, no es así como ocurren los ataques csrf. El usuario no necesita hacer clic en un enlace o en un botón de envío, un atacante automatizar las acciones del usuario siempre que sea posible *, para que el usuario no tenga que hacer clic en nada, y también para que no sospechen.

* HTML es necesario para las solicitudes GET csrf, y JavaScript para las solicitudes POST

    
respondido por el tim 16.01.2015 - 16:37
fuente

Lea otras preguntas en las etiquetas