TechLead
🔒
Avanzado
6 min lectura

Seguridad Web

XSS, CSRF, autenticación y mejores prácticas de seguridad

Preguntas de Entrevista sobre Seguridad Web

Domina conceptos y mejores prácticas de seguridad para aplicaciones web.

1. Cross-Site Scripting (XSS)

// Código vulnerable
element.innerHTML = userInput;  // ❌ Peligroso

// Alternativas seguras
element.textContent = userInput;  // ✅ Escapa HTML
element.innerText = userInput;    // ✅ Escapa HTML

// React escapa automáticamente
return <div>{userInput}</div>;  // ✅ Seguro

// DOMPurify para sanitización
import DOMPurify from 'dompurify';
const limpio = DOMPurify.sanitize(dirtyHTML);

2. Cross-Site Request Forgery (CSRF)

// Token CSRF en formularios
<form method="POST" action="/api/transferir">
  <input type="hidden" name="csrf_token" value="{token}">
  <!-- campos del formulario -->
</form>

// Cookies SameSite
Set-Cookie: session=abc123; SameSite=Strict; Secure; HttpOnly

3. Autenticación y Autorización

// Autenticación JWT
const token = localStorage.getItem('token');
fetch('/api/datos', {
  headers: {
    'Authorization': `Bearer ${token}`
  }
});

// OAuth 2.0 Flow
// 1. Redirigir al proveedor OAuth
// 2. Usuario autoriza
// 3. Recibir código de autorización
// 4. Intercambiar por access token
// 5. Usar token para peticiones API

Mejores Prácticas de Seguridad

  • ✓ Nunca confíes en input del usuario - siempre sanitiza
  • ✓ Usa HTTPS para todas las apps de producción
  • ✓ Implementa protección CSRF
  • ✓ Almacena tokens de forma segura (cookies HttpOnly)
  • ✓ Valida y sanitiza en cliente y servidor
  • ✓ Usa Content Security Policy (CSP)