Commit graph

6 commits

Author SHA1 Message Date
hacklab
f2ff04ecdc fix(security): timeout de conexión en servidor HTTP — VULN: Slowloris DoS
Vulnerabilidad corregida:
- Slowloris: un atacante podía abrir cientos de conexiones TCP enviando
  headers/body a goteo (1 byte cada varios segundos) manteniendo el
  event loop de Node.js ocupado con sockets colgados indefinidamente,
  lo que bloquea peticiones legítimas (DoS por agotamiento de sockets).

Mitigación aplicada en el servidor HTTP:
  headersTimeout = 10s  — aborta si los headers no llegan en 10 s
  requestTimeout = 15s  — aborta si el body no llega en 15 s
  keepAliveTimeout = 5s — cierra keep-alive inactivos tras 5 s

Adicionalmente: warning al arrancar si SALT no está configurado en .env.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 17:26:25 +02:00
hacklab
fa4a38bb9a fix(security): CRLF injection en campos opcionales + XSS en rtbfUrl — VULN: Header injection
Vulnerabilidades corregidas:
- CRLF injection: los campos nickname/phone/address/extra aceptaban \r\n
  que podían manipular el cuerpo del email o, en implementaciones futuras,
  filtrar hacia cabeceras MIME. sanitizeField() elimina todos los chars
  de control (\r \n \t \x00-\x1F) sustituyéndolos por espacio.
- XSS reflejado (latente): rtbfUrl se interpolaba en innerHTML sin
  escapar con esc(). Aunque rtbfLink() devuelve URLs hardcodeadas,
  cualquier refactor futuro que usase datos del usuario habría sido
  explotable. Ahora siempre pasa por esc().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 17:25:12 +02:00
hacklab
b5ae0ceb29 UI: panel horizontal con tabs + OSINT dorking profesional (95 dorks)
- index.html: sustituye grid de bloques por 6 tabs horizontales
  (Cuentas base / Redes sociales / Mensajería / Streaming / Buscadores / Data brokers)
  con items como tarjetas en grid responsive
- egosurfing.html: dorking expandido de 12 dorks a ~95 organizados en
  10 categorías OSINT profesionales (nombre, email, teléfono, alias,
  data brokers, pastes/brechas, registros oficiales, perfil profesional,
  geolocalización, archivo histórico) con sistema de tabs dinámico
- erase.js: límites de longitud en campos opcionales (nickname 100,
  phone 30, address 300, extra 500) + type-check explícito en email

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 17:21:56 +02:00
hacklab
0ca9203522 Seguridad egosearch + servicio systemd + config nginx
Seguridad egosearch:
- Sanitizar query: elimina null bytes y caracteres de control (<x00-x1F)
- Limitar longitud a 150 chars (antes 300)
- Limitar tamaño de respuesta SearXNG a 500KB (anti memory exhaustion)
- Validar URLs de resultados: solo http/https, descarta el resto
- Acotar title/snippet a 300/500 chars antes de procesar

Infraestructura (pendiente de aplicar con sudo):
- /tmp/resetea-api.service: systemd service para el backend Node
- /tmp/resetea-nginx.conf: nginx con proxy /api/ -> 127.0.0.1:8787

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:57:38 +02:00
hacklab
f1d80dde13 Egosurfing: búsqueda real de huella digital con resultados top 5
Backend:
- Nuevo route GET /api/egosearch con rate limit (8 req/min)
- Usa Google Custom Search API si GOOGLE_API_KEY+CSE_ID configurados
- Fallback a instancias públicas SearXNG con JSON API (sin API key)
- Devuelve top 5: title, url, snippet, domain, engine

Frontend egosurfing.html:
- Barra de búsqueda prominente con 5 modos (nombre/email/usuario/teléfono/libre)
- Resultados en cards: dominio, título, snippet, acciones (ver, RTBF, GDPR)
- RTBF link contextual según el dominio del resultado
- Google dorking rápido: plantillas con 1 clic que se lanzan al buscador
- Herramientas complementarias: HIBP, TinEye, WhatsMyName, formularios RTBF

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:52:35 +02:00
hacklab
614d5af397 Add full project structure: backend API + frontend
- Move repo to project root to include both public/ and api/
- Add .gitignore excluding node_modules and .env
- Include API routes (erase, gmail_oauth), services (mailer), and config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:09:54 +02:00