mediumCWE-598A02:2021

Datos Sensibles en Query Strings de URL

Tokens, contraseñas o identificadores sensibles pasados como parámetros de query en URL, donde son visibles en el historial del navegador, logs del servidor, headers Referer y links compartidos.

Cómo Funciona

Las URLs aparecen en el historial del navegador, logs de acceso del servidor, logs de CDN, herramientas de analítica y el header HTTP Referer (enviado a cada recurso embebido). Un token de reset de contraseña en una URL como `/reset?token=abc123` queda registrado en tu servidor web, visible para los SDKs de analítica y enviado a scripts de terceros via Referer.

Código Vulnerable
// MAL: token en query string de URL
const resetUrl = `https://tuapp.com/reset-password?token=${resetToken}&email=${email}`;
// Este token aparece en:
// - Historial del navegador, logs del servidor, logs de CDN
// - Header HTTP Referer enviado a cualquier script embebido
Código Seguro
// BIEN: token en el path de URL (no en query), uso único
// Los params de path también se loguean, pero al menos no en Referer
const resetUrl = `https://tuapp.com/reset-password/${resetToken}`;
// Aún mejor: envía el token via POST, no GET
// O: valida y redirige inmediatamente a un flujo basado en sesión

Ejemplo Real

Los tokens de reset de contraseña en URLs han sido logueados por nginx, CloudFlare, Google Analytics, Segment y otras herramientas. Cuando estos logs se exponen o comparten, los tokens quedan comprometidos. GitHub deprecó los tokens OAuth basados en URL por exactamente este problema.

Cómo Prevenirlo

  • Nunca pongas tokens de sesión, contraseñas o IDs sensibles en parámetros de query de URL
  • Usa requests POST para enviar datos sensibles, no GET
  • Para reset de contraseña, usa tokens de corta vida e invalídalos inmediatamente después de usarse
  • Asegúrate de tener Referrer-Policy: no-referrer o strict-origin para limitar la fuga de tokens via Referer

Tecnologías Afectadas

ReactNext.jsnodejs

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas