Autenticación/Autorización Insegura
Apps móviles con autenticación débil — guardando sesiones de forma insegura, sin refresh de tokens o checks de autorización solo en el cliente.
Cómo Funciona
La auth móvil es difícil porque la app corre en un dispositivo no confiable. Errores comunes incluyen guardar tokens en AsyncStorage sin encriptación, no refrescar tokens expirados, hacer checks de autorización solo en el código móvil (que puede ser bypaseado), o usar implementación biométrica débil que cae a un PIN simple. Los atacantes pueden modificar el binario de la app para saltarse checks de auth por completo.
// Storing token insecurely
import AsyncStorage from '@react-native-async-storage';
await AsyncStorage.setItem('auth_token', token);
// No expiration check, no encryption// Using encrypted storage
import EncryptedStorage from 'react-native-encrypted-storage';
await EncryptedStorage.setItem('auth_token', token);
// Token has expiration, refresh logic on 401Ejemplo Real
En 2019, investigadores encontraron que múltiples apps bancarias guardaban tokens de autenticación en texto plano en SharedPreferences de Android. Cualquier app con acceso root o un backup local podía extraer estos tokens y suplantar al usuario.
Cómo Prevenirlo
- Usa almacenamiento encriptado para tokens (Keychain en iOS, EncryptedSharedPreferences en Android)
- Implementa refresh de tokens con access tokens de corta vida
- Todos los checks de autorización deben pasar en el backend
- Implementa certificate pinning para prevenir ataques MITM
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Uso Incorrecto de Credenciales
criticalAPI keys, passwords o tokens hardcodeados directamente en el código fuente de la app móvil — fácilmente extraíbles al decompilar el bundle.
Seguridad de Cadena de Suministro Móvil
mediumSDKs vulnerables, librerías nativas desactualizadas o módulos de terceros comprometidos introducen riesgos de seguridad desde tus dependencias.
Validación Insuficiente de Input/Output
mediumApps móviles que no validan input de usuario o sanitizan output son vulnerables a ataques de inyección, corrupción de datos y comportamiento inesperado.
Comunicación Insegura
highLa app móvil transmite datos sensibles por HTTP en vez de HTTPS, o acepta certificados SSL inválidos — habilitando ataques man-in-the-middle en WiFi público.