Volver a SDET

Seguridad (Top 10 de OWASP)

1. Control de acceso roto

Definition: Los usuarios pueden acceder a datos o realizar acciones para las que no están autorizados.

Example: Un usuario normal cambia /user/101 por /admin en la URL y ve páginas solo para administradores.

Impact: Los atacantes escalan privilegios, roban datos o manipulan configuraciones críticas.

Mitigation: Implementa control de acceso basado en roles (RBAC), verifica el acceso en cada nivel y usa comprobaciones de autenticación en el servidor.

2. Fallos criptográficos

Definition: Se exponen datos sensibles por un cifrado débil o inexistente.

Example: Almacenar contraseñas en texto plano en lugar de aplicar hash.

Impact: Provoca filtraciones de datos, robo de credenciales y multas regulatorias (GDPR, HIPAA).

Mitigation: Usa siempre TLS (HTTPS), aplica hash a las contraseñas con bcrypt/Argon2/sha512 y cifra los datos sensibles en reposo y en tránsito.

3. Inyección

Definition: La entrada no confiable se trata como código o como un comando.

Example: OR '1'='1 en un formulario de inicio de sesión evita la autenticación (inyección SQL).

Impact: Compromiso total de la base de datos, fuga de datos y ejecución remota de código.

Mitigation: Usa sentencias preparadas / consultas parametrizadas, valida las entradas y evita la concatenación de cadenas en las consultas.

4. Diseño inseguro

Definition: Existen fallos de seguridad a nivel arquitectónico.

Example: Una app bancaria permite intentos de inicio de sesión ilimitados sin bloqueo de cuenta → es posible la fuerza bruta.

Impact: Aumenta la superficie de ataque y genera debilidades predecibles.

Mitigation: Aplica principios de diseño seguro, añade limitación de tasa y bloqueos de cuenta, y adopta el modelado de amenazas al inicio del desarrollo.

5. Configuración de seguridad incorrecta

Definition: Ajustes de seguridad incorrectos o predeterminados hacen que los sistemas sean inseguros.

Example: Panel de administración en /admin con usuario: «admin» / contraseña: «admin123».

Impact: Explotación fácil, acceso no autorizado e instalación de malware.

Mitigation: Cambia las configuraciones predeterminadas, desactiva las funciones que no se usan y realiza auditorías de configuración periódicas.

6. Componentes vulnerables y desactualizados

Definition: Uso de software, bibliotecas o plugins antiguos o sin parchear.

Example: Un sitio web que ejecuta una versión desactualizada de WordPress con un exploit conocido de subida de archivos.

Impact: Los atacantes aprovechan CVE conocidas para obtener acceso o inyectar malware.

Mitigation: Mantén actualizados los frameworks, las bibliotecas y el sistema operativo, elimina las dependencias innecesarias y supervisa las bases de datos CVE/NVD.

7. Fallos de identificación y autenticación

Definition: Autenticación débil, fallos de inicio de sesión o mala gestión de sesiones.

Example: Se permiten intentos de inicio de sesión ilimitados sin bloquear la fuerza bruta.

Impact: Apropiación de cuentas, robo de identidad y escalada de privilegios.

Mitigation: Usa autenticación multifactor (MFA), exige contraseñas fuertes, limita los intentos fallidos y protege los tokens de sesión.

8. Fallos de integridad del software y los datos

Definition: Código, actualizaciones o problemas de la cadena de suministro no confiables o sin verificar.

Example: Una app se actualiza desde un servidor sin verificar → un atacante inyecta código malicioso.

Impact: Compromiso de la cadena de suministro (p. ej., la brecha de SolarWinds).

Mitigation: Verifica las firmas digitales, usa repositorios de confianza e implementa comprobaciones de integridad.

9. Fallos de registro y monitorización de seguridad

Definition: Los ataques pasan desapercibidos por un registro deficiente o inexistente.

Example: Se producen miles de intentos de fuerza bruta, pero el sistema no registra nada ni alerta a nadie.

Impact: Respuesta tardía o nula a las brechas e incumplimientos normativos.

Mitigation: Habilita un registro detallado, configura alertas/monitorización y usa soluciones SIEM para la detección en tiempo real.

10. Falsificación de solicitudes del lado del servidor (SSRF)

Definition: El atacante engaña al servidor para que haga solicitudes a otros sistemas.

Example: Un usuario envía una URL → el servidor solicita http://localhost/admin, exponiendo servicios internos.

Impact: Exposición de la red interna, ejecución remota de código y fugas de datos sensibles.

Mitigation: Valida y sanea la entrada, bloquea las solicitudes internas y usa listas de dominios permitidos.