No necesitás saber las 100 vulnerabilidades de OWASP. Estas 7 cubren el 95% de los incidentes de seguridad en aplicaciones web.
Un usuario ve o modifica datos de otro porque no validaste permisos en el backend.
🔧 Validá permisos en cada endpoint, no solo en el frontend. Usá middleware de autorización por rol. Testeá con usuarios de distintos roles.
Datos sensibles viajan en texto plano. HTTPS mal configurado. Hashing débil (MD5, SHA1).
🔧 HTTPS en todos lados. HSTS header. Passwords con bcrypt/argon2. Datos sensibles en reposo encriptados con AES-256.
SQL injection, command injection, LDAP injection. Input del usuario ejecutado como código.
🔧 Nunca concatenes strings para queries SQL. Usá ORMs o prepared statements. Validá y sanitizá todo input del usuario.
Falta de threat modeling. No pensaste en seguridad durante el diseño, solo al final.
🔧 Threat modeling en features nuevas. Preguntate: ¿qué pasa si un usuario malicioso usa esto? Documentá los riesgos aceptados.
Defaults inseguros. Debug mode en producción. Headers de seguridad ausentes.
🔧 Desactivá debug en producción. Configurá CSP, X-Frame-Options, X-Content-Type-Options. Usá librerías de seguridad estándar (Helmet).
Dependencias con CVEs conocidos. No actualizás hace meses.
🔧 Dependabot o Renovate con auto-merge para parches. Auditá dependencias semanalmente. Si una dep no tiene mantenimiento activo, reemplazala.
Contraseñas débiles. Sin rate limiting en login. Sin MFA para cuentas críticas.
🔧 Rate limiting en /login. MFA obligatorio para admins. Password policy: mínimo 12 chars, sin restricciones absurdas que bajen entropía.