¿Existe algún peligro de CSRF si un servicio web no afecta los datos del servidor?

1

He estado leyendo sobre CSRF y cómo funciona, y, si lo entendí correctamente, lo 'único' que puede hacer un atacante es forzar al usuario a realizar acciones que no tenía la intención de hacer.

Comprendo el peligro si tenemos un servicio como / moneytransfer? from = user & to = attacker.

Sin embargo, si un servicio simplemente actualiza los valores de las cookies del usuario, entonces CSRF no le dará nada al atacante, ¿correcto? ¿Existe algún peligro de que el atacante pueda vislumbrar el contenido de la respuesta de la cookie O sin XSS? ¿Sería necesaria la protección CSRF en tal caso?


EDIT

Me disculpo, me temo que no me aclaré demasiado ...

Digamos que tengo una cookie con un ID de sesión. Cada vez que el usuario accede al servicio:

foo.com/getSession?user=jon&password=pass

... recupera una cookie con Auth-Cookie = # SessionId .

Para la autenticación, en lugar de la cookie, el servidor esperaría la sesión en un encabezado HTTP, como:

HTTP-AUTH: #SessionId


En tal caso, una llamada al servicio / getSession por un atacante simplemente le dará al usuario una nueva cookie de sesión.


En un escenario como este, ¿CSRF sería un peligro?


(Todo esto es hipotético, sé que hay maneras mucho mejores de realizar la autenticación. Soy un recién llegado a la seguridad, y realmente estoy tratando de entender los límites de CSRF, y qué tipos de servicios necesitarían protección). / p>     

pregunta lv. 10.11.2015 - 14:30
fuente

3 respuestas

1

CSRF pretende principalmente aprovechar las sesiones ya autenticadas. Entonces, si hay algún método viable sin el uso de tokens CSRF aleatorios para validar con el servidor, el atacante también puede utilizarlo. También puede usar el encabezado de Origen y Referente y la respuesta de desafío como se sugiere en la Hoja de referencia de OWASP ( enlace )

    
respondido por el Krishna Pandey 10.11.2015 - 17:03
fuente
1

El atacante aún puede realizar solicitudes POST si puede inyectar un poco de javascript, por lo tanto, recupera la respuesta al / getSession . Por favor, eche un vistazo a OWASP y esta Blog post para aprender cómo prevenir la CSRF ataques.

    
respondido por el DarkLighting 10.11.2015 - 16:46
fuente
0

El punto principal de CSRF es forzar al navegador del cliente a enviar una solicitud HTTP sin la intención del cliente. En realidad, la frecuencia de actualización de las cookies no es un tema importante para la explotación de CSRF. Ya sea que la actualización de las cookies se realice con tanta rapidez o no, el navegador del cliente utilizará la última. Debido a que el cliente apuntado va a ser el único! quién será obligado por el atacante a enviar una solicitud HTTP especial a la aplicación.

No hay forma de ver la cookie o la respuesta de la solicitud HTTP durante la explotación básica de la vulnerabilidad CSRF.

Imagina que eres una víctima y estás visitando un sitio web que está bajo el control de piratas informáticos. Website.com enviará los siguientes

<img src="https://bank.com/api/disableMyAccount"></img>

Su navegador enviará GET a la URL anterior para servir contenido de imagen. Si tienes una sesión válida antes de visitar website.com. Su cuenta será deshabilitada, lo cual no es su intención. Como puede ver, no hemos visto ningún contenido de cookies o respuestas durante las visitas de victim bank.com.

    
respondido por el Mehmet Ince 10.11.2015 - 14:49
fuente

Lea otras preguntas en las etiquetas