Consumo de Recursos Sin Restricción
Endpoints de API sin rate limiting, paginación o límites de recursos — permitiendo a atacantes agotar recursos del servidor, generar costos o extraer datasets grandes.
Cómo Funciona
Sin rate limiting, un atacante puede inundar tu API con requests, causando denegación de servicio o facturas de cloud excesivas. Sin límites de paginación, un solo request puede retornar millones de registros. Sin límites de tamaño de request, payloads grandes pueden agotar la memoria. Esto es especialmente peligroso para APIs que disparan operaciones costosas como llamadas a modelos de IA, envío de emails o procesamiento de archivos — cada request cuesta dinero real.
// No rate limit, no pagination
app.get('/api/users', auth, async (req, res) => {
const users = await User.find(); // Returns ALL users
res.json(users);
});import rateLimit from 'express-rate-limit';
const limiter = rateLimit({ windowMs: 60000, max: 100 });
app.get('/api/users', auth, limiter, async (req, res) => {
const page = parseInt(req.query.page) || 1;
const users = await User.find()
.skip((page - 1) * 20).limit(20);
res.json(users);
});Ejemplo Real
En 2023, múltiples startups reportaron facturas inesperadas de APIs de IA que excedían $100,000 después de que atacantes descubrieron endpoints sin protección que llamaban a GPT-4. Sin rate limiting, cada request costaba ~$0.03 y los bots enviaron millones de requests.
Cómo Prevenirlo
- Implementa rate limiting en todos los endpoints de API
- Siempre usa paginación con tamaños de página razonables
- Configura límites de tamaño del body de request
- Monitorea y alerta sobre patrones de uso inusuales
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Broken Object Level Authorization (BOLA)
highLos endpoints de API no verifican que el usuario que hace el request es dueño del recurso al que accede — permitiendo a atacantes acceder a datos de otros usuarios cambiando IDs.
Autenticación Rota (API)
highLos mecanismos de autenticación de la API son débiles o están mal implementados — JWT sin validación adecuada, tokens fuera de cookies httpOnly o sin expiración.
Autorización de Propiedades de Objeto Rota
mediumLa API permite a usuarios leer o modificar propiedades a las que no deberían tener acceso — mass assignment, exposición excesiva de datos o falta de control de acceso a nivel de campo.
Autorización de Funciones Rota
highEndpoints admin o privilegiados accesibles a usuarios regulares — la falta de checks de roles permite escalación de privilegios a funciones administrativas.