Panel de la demostración - sitio intencionalmente vulnerable con fines educativos (Unidad 4, Seguridad Informática - UNPAZ)
Centro de control MODO: VULNERABLE

2FA por email (OTP)

Segundo factor (2FA): un código de un solo uso enviado por mail. Objetivo: Profe (victima) (victima@notas.demo).

El código llega al buzón simulado.

VULNERABLE: código de 4 dígitos con Math.random() (predecible), guardado en texto plano, sin expiración, sin límite de intentos y reutilizable. Se puede adivinar por fuerza bruta (10.000 combinaciones).

Hash vs cifrado (concepto clave)

El OTP se hashea porque el servidor nunca necesita recuperar el valor original: solo compara hashes (acá con SHA-256).

En cambio, un secreto TOTP (el de apps tipo Google Authenticator) sí debe cifrarse (por ejemplo AES-256-GCM, con la clave en una variable de entorno o un KMS), porque el servidor necesita leerlo en claro para validar cada código. Hashearlo lo volvería inservible.

Hash (SHA-256)Cifrado (AES-256-GCM)
ReversibleNoSi (con la clave)
Cuando usarloContraseñas, OTP de un solo usoSecretos que hay que leer: TOTP, tokens de API