¿Es un problema de seguridad el cierre de sesión de un usuario con CSRF? [duplicar]

1

Encontré el siguiente comportamiento en un sitio web relativamente popular:

  1. Tienen una ruta GET para cerrar sesión (por ejemplo, /api/user/logout ).
  2. Eso me permite escribir ![](/api/user/logout) en un comentario o cualquier cosa que acepte markdown y eso obviamente cerrará la sesión del usuario.

La solución para este error sería no usar GET (pero usar POST o DELETE o algo similar) para la ruta de cierre de sesión.

¿Cuál es el nombre de este tipo de exploit? ¿Es un tema importante?

    
pregunta Ionică Bizău 17.02.2016 - 06:17
fuente

1 respuesta

3

Esto se llama CSRF, o falsificación de solicitud entre sitios. Cerrar la sesión de un usuario a través de CSRF es un tema muy discutido en la comunidad de seguridad. Algunos lo ven como un no problema (consulte la postura de Google: enlace ). Otros lo ven más como una molestia.

Sin embargo, respetuosamente estoy en desacuerdo con la postura de Google. Es fácilmente abordable. Al igual que otras acciones de CSRF, necesita un token (por lo que cambiarlo a un POST no lo resolvería) que un atacante no conoce o no puede adivinar. Esto significa que puede hacer que el enlace de cierre de sesión contenga un token de una sola vez. Esto rompería los intentos de ponerlo en una imagen o disfrazar el enlace de alguna otra manera.

    
respondido por el h4ckNinja 17.02.2016 - 06:25
fuente

Lea otras preguntas en las etiquetas