¿Un ataque que no cambia el estado del servidor puede considerarse un ataque CSRF?

4

De Wikipedia:

  

Una verdadera vulnerabilidad CSRF en uTorrent (CVE-2008-6586) explotó el   hecho de que su consola web es accesible en localhost: 8080 permitido   Acciones de misión crítica para ser ejecutadas como un simple GET.   solicitud:

     

Forzar la descarga de un archivo .torrent enlace

     

La interfaz web de uTorrent usó una solicitud GET para un cambio de estado crítico   operaciones (cambiar credenciales, descargar un archivo, etc.)

Por lo que sé, "CSRF ataca la funcionalidad de destino que causa un estado del servidor" (OWASP). Sin embargo, el ataque CSRF en el ejemplo anterior en Wikipedia no cambia el estado del servidor en absoluto. Solo un cliente de uTorrent puede descargar un archivo desde un sitio malicioso.
Entonces, ¿es el ejemplo un verdadero ataque CSRF?

    
pregunta Matt Elson 25.03.2016 - 12:48
fuente

2 respuestas

6

El "estado" del servidor, en el caso de un cliente de Bittorrent, incluye al menos la lista de descargas pendientes, actuales y finalizadas, cualquier dato relacionado con esas descargas y cualquier configuración relacionada con la operación del cliente de Bittorrent.

El "ataque" está causando que el cliente de Bittorrent comience a descargar datos basándose en algún archivo torrent específico que esté disponible en línea, presumiblemente bajo el control de o elegido por el atacante.

Hacer que el cliente Bittorrent agregue un torrent específico a su lista de descargas pendientes parece ser un claro cambio de estado, pero podría ser temporal. Sin embargo, una vez que el archivo comienza a descargarse, podemos argumentar fácilmente que el hecho de descargar el archivo definitivamente provoca un cambio de estado persistente en el sistema al almacenar datos en el disco de forma arbitraria, peligrosa y / o ilegal, así como el hecho de que estamos ahora redistribuyendo esos datos a otros que en sí mismos podrían ser al menos ilegales.

Por lo tanto, el ataque cambia el estado del servidor (donde, en este caso, el "servidor" es la máquina que ejecuta el software cliente Bittorrent al que se puede acceder a través de la interfaz web a través de su servidor web incorporado. la funcionalidad; que el software que pasa con también actúa como un cliente de Bittorrent no tiene importancia aquí) y, como tal, cumple con la definición OWASP de un ataque CSRF que mencionó en su pregunta. Esto, a su vez, lleva a la conclusión de que sí, la vulnerabilidad descrita constituye un ataque CSRF de acuerdo con esa definición.

    
respondido por el a CVn 25.03.2016 - 16:18
fuente
1

La descripción OWASP de CSRF en enlace cubre exactamente este ejemplo:

  

Consideremos el siguiente ejemplo: Alice desea transferir $ 100 a Bob usando la aplicación web bank.com que es vulnerable a CSRF. María, una atacante, quiere engañar a Alice para que le envíe el dinero. El ataque comprenderá los siguientes pasos:

     
  • construyendo una URL o script de exploit
  •   
  • engañando a Alice para que ejecute la acción con ingeniería social   GET escenario
  •   

Si la aplicación fue diseñada para usar principalmente solicitudes GET para transferir parámetros y ejecutar acciones, la operación de transferencia de dinero podría reducirse a una solicitud como:

     

GET enlace HTTP / 1.1

     

María ahora decide explotar esta vulnerabilidad de la aplicación web usando a Alice como su víctima. María primero construye la siguiente URL de explotación que transferirá $ 100,000 de la cuenta de Alice a su cuenta. Ella toma la URL de comando original y reemplaza el nombre del beneficiario por sí misma, aumentando el monto de la transferencia de manera significativa al mismo tiempo:

     

enlace   El aspecto de ingeniería social del ataque engaña a Alicia a cargar esta URL cuando inicia sesión en la aplicación del banco. Esto generalmente se hace con una de las siguientes técnicas:

     
  • enviar un correo electrónico no solicitado con contenido HTML
  •   
  • plantando un URL o script de explotación en las páginas que la víctima probablemente visitará mientras también realizan actividades bancarias en línea
  •   

Un ejemplo de la vida real de un ataque CSRF en una aplicación que usa GET fue un exploit de uTorrent de 2008 que se usó en una escala masiva para descargar malware.

En pocas palabras, "causar un cambio en el estado del servidor" significa que el atacante envía una solicitud GET, que cambia el estado del servidor de inactivo a "buscar el contenido solicitado", que el usuario no Intentar enviarlo. No se refiere a un cambio en la configuración del servidor.

Para información adicional:

enlace enlace

    
respondido por el A. Darwin 25.03.2016 - 13:10
fuente

Lea otras preguntas en las etiquetas