XUT_ / COURSES / PENETRATION TESTER

Practical - OTP Leakage

Filtración OTP

La filtración OTP en la respuesta XHR (XMLHttpRequest), típicamente ocurre debido a la implementación pobre de 2FA o programación insegura. Algunas razones comunes por lo que esto ocurre son:

Validación del Lado del Servidor y Devolución de Información Sensible

En algunas aplicaciones diseñadas pobremente, el servidor valida el OTP y más que sólo confirmar el éxito o fracaso, devuelve el OTP en la respuesta. Esto es comúnmente hecho no intencionalmente, como parte del debugging, registro o prácticas pobres de manejo de respuestas.

Falta de Prácticas de Seguridad Adecuadas

Los desarrolladores pueden pasar por alto las implicaciones de seguridad de exponer información sensible como los OTP en las respuestas API. Esto suele pasar cuando los desarrolladores están concentrados en hacer la aplicación funcional sin considerar cómo los atacantes podrían explotar estas respuestas.

Información de Depuración Dejada en Producción

Durante el desarrollo o la fase de pruebas, los desarrolladores pueden incluir depuración detallada en las respuestas para ayudar a diagnosticar errores. Si estas no se eliminan en producción, pueden revelar información sensible para los atacantes.


Explotación

Vamos a http://mfa.thm/labs/first.

Practical - OTP Leakage

Vamos a las herramientas del desarrollador y a "Network" e iniciamos sesión en la aplicación usando:

  • Username: thm@mail.thm
  • Password: test123

Practical - OTP Leakage

Una vez introducidas las credenciales, podemos observar que hay una respuesta llamada token de 16B.

Practical - OTP Leakage

Si navegamos hasta el apartado de "Response" dentro de la petición XHR, podemos ver el valor del token.

Practical - OTP Leakage

Cogemos el token y lo introducimos como OTP.

Practical - OTP Leakage

Y efectivamente así entramos.

Practical - OTP Leakage