CSRF where token is not tied to user session

20250709225636.png

Algunas aplicaciones no validan que el token pertenezca a la misma sesión que el usuario que realiza la solicitud. En su lugar, la aplicación mantiene un conjunto global de tokens emitidos por ella misma y acepta cualquier token que aparezca en este conjunto.

En esta situación, el atacante puede iniciar sesión en la aplicación usando su propia cuenta, obtener un token válido y luego proporcionar ese token al usuario víctima en su ataque CSRF.

LAB

Interceptaremos la solicitud de actualización de correo del usuario wiener

20250710014304.png
20250710014323.png

Al modificar y luego enviar el token CSRF nos da un error, además debemos tener en mente que el token es de un solo uso. Otra cosa que probé fue iniciar sesión con la cuenta de carlos y cambiar los token CSRF en la solicitud de wiener y este funciono, por lo que si bien el token se validan, este no lo se asocia a la sesión del usuario

Una vez construida nuestro POC CSRF, debemos de tener lo siguiente:

  • La sesión abierta de carlos y wiener (en un navegador modo incognito)

Cambiar el token CSRF de wiener y copiar en el servidor malicioso

20250710014921.png

Guarde el exploit y haga clic en "Deliver to victim" para resolver el laboratorio.

Last updated