¿Es posible CSRF contra una descarga de PDF que requiere autenticación de cookies?

1

Un sitio en el que trabajo tiene un enlace que descarga y abre un PDF que contiene datos confidenciales del usuario. La cookie de autenticación del usuario está marcada en el servidor para asegurar que tengan acceso a los datos antes de generar y servir el PDF. Sin embargo, me preocupaba la posibilidad de que un ataque CSRF filtrara datos. Debido a que el usuario abre el PDF haciendo clic en un enlace ordinario de <a> , la mayoría de las defensas CSRF no son viables ni incurren en seguridad ni en compensaciones UX. Por ejemplo:

  • Agregar un encabezado personalizado con un token CSRF o enviar doble el token de autenticación a través de un encabezado requeriría usar un XHR a través de JavaScript para realizar la solicitud del PDF, y se rompería la capacidad del usuario para abrir el enlace en una nueva pestaña
  • Agregar cualquier tipo de token a la URL del enlace hará que la URL sea menos legible y fácil de usar

¿Tengo razón al preocuparme por CSRF en este escenario, o es la misma política de origen suficiente para dejarme confiar en la autenticación de cookies para este punto final sin temor a filtrar los datos del usuario? El tipo de ataque que estoy previendo es uno como el famoso defecto CSRF de Gmail que filtró tu lista de contactos. Me preocupa que al provocar la descarga de una manera que provoque algún efecto secundario en el navegador, un sitio de ataque podría hacer inferencias sobre el contenido del PDF, aunque no tengo idea de cuál sería el mecanismo preciso de tal ataque.

    
pregunta Mark Amery 24.10.2017 - 15:59
fuente

1 respuesta

1

Un CSRF es una operación de solo escritura desde la perspectiva del atacante. Esto significa que el atacante podría iniciar la descarga o ver el PDF dentro del navegador del cliente, pero no puede acceder al PDF que acaba de descargar. Sin embargo, el atacante podría obtener algo de metainformación, como hacer un tiempo junto con heurísticas para diferir si la descarga fue exitosa o por cuánto tiempo podría durar el PDF.

  

... la famosa falla de Gmail CSRF que filtró tu lista de contactos

En este ataque, Gmail proporcionó la lista de contactos como Javascript, que podría incluirse en la página del atacante y se ejecutaría en el contexto de la página de los atacantes. Esto es específico del script y, por lo general, no se puede hacer con un PDF.

El atacante, por supuesto, podría intentar incluir el PDF como script. Uno realmente podría construir un PDF que sea tanto un PDF válido como un Javascript válido y, por lo tanto, si el atacante tiene suficiente control sobre la generación del PDF, podría utilizar esta técnica para acceder a la parte desconocida del PDF.

    
respondido por el Steffen Ullrich 24.10.2017 - 16:05
fuente

Lea otras preguntas en las etiquetas