Filtración de las fotos privadas de una cuenta en una red social de fotos (IDOR, Web Cache Deception y XSS)
App de fotos con cuentas privadas: el contenido privado de la víctima se filtra por IDOR en la previsualización, Web Cache Deception sobre las imágenes privadas y XSS almacenado en los mensajes directos.
Este hackeo se reportó sin recompensa
Aprende a encontrar este bug
Un hackeo real de HackerOne, reproducido para que lo practiques.
Crea tu cuenta y practica bugs reales que se pagaron. Descarga el entorno, encuéntralo y aprende la técnica exacta — tu camino a tu primer bounty.
hunters entrenando
labs de hackeos reales
completaciones
pagados por estos bugs
Acceso a todos los labs · sin permanencia · cancela cuando quieras
Hackers que lo han resuelto· 3
Objetivos
Logro que recibirás
Cuando resuelvas este lab desbloqueas este logro compartible

Writeups de la comunidad
La checklist que repaso en cada objetivo nuevo
47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.
Te das de baja en un clic, desde cualquier correo.
Contenido del lab
Escenario
Fotia es una red social de fotos con cuentas privadas. La víctima, @laura.gomez, tiene su cuenta en privado y una foto con un secreto. Tú entras con la cuenta pública del atacante leo_martin / password123 (attacker@fotia.local). Tu objetivo es acceder al contenido privado de Laura y capturar el secreto: la flag.
Laura es una víctima simulada (bot) que, cada pocos segundos, abre sus mensajes directos y las imágenes que recibe con su propia sesión.
Guía paso a paso (hay varias vías)
Recon. Observa que el perfil de Laura es privado. Fíjate en las peticiones del visor de posts y de las imágenes.
Vía 1 — IDOR. La previsualización de un post (
GET /api/posts/:id/previewy/preview/image) usa ids secuenciales y no comprueba dueño ni privacidad. Cambia el:idhasta el post privado de Laura y lee su caption/imagen con la flag.Vía 2 — Web Cache Deception. Las imágenes privadas (
/u/:username/:file) dan 403 a terceros y el origen mandaCache-Control: private, no-store, pero el "CDN" cachea por extensión de URL ignorando cookies y eseCache-Control. Consigue que Laura abra la URL de su imagen (un DM con el enlace): su respuesta autorizada queda en la caché compartida y tú la lees.Vía 3 — XSS almacenado. Un mensaje directo (
POST /api/messages) guarda HTML crudo que el cliente pinta condangerouslySetInnerHTML. Manda a Laura un DM con un payload; cuando lo abre, se ejecuta con su sesión y puedes leer su álbum privado (GET /api/me/album) y exfiltrarlo.Captura la flag. Por IDOR/WCD lees el post privado directamente; por XSS exfiltras el álbum. En todos los casos obtienes
FLAG{…}.
Canales de feedback (no vuelas a ciegas)
- La previsualización devuelve el contenido del post que pidas por id: ves de inmediato si es de otra cuenta.
- Las imágenes privadas responden 403 y las cabeceras de caché te dicen si una URL vino de la CDN.
- El monitor de actividad del bot muestra cuándo Laura abre tus mensajes/enlaces.
Decoys (descártalos por razonamiento)
- El perfil "privado" oculta el contenido en la UI, pero la API de previsualización no lo protege.
- Necesitas que sea Laura quien abra la URL en el WCD; abrirla tú no puebla la caché con su respuesta.
La falla del laboratorio
Clases: IDOR / referencia directa a objeto insegura (CWE-639), Web Cache Deception (CWE-525 / CWE-524), Cross-Site Scripting almacenado (CWE-79) y divulgación de información (CWE-200), con autorización incorrecta (CWE-285). OWASP A01:2021 (Broken Access Control) + A03:2021 (Injection).
Las tres vías comparten la raíz: el servidor confía en la capa equivocada para proteger contenido privado — sirve por id sin comprobar propiedad, deja que el borde cachee por la forma de la URL, y pinta HTML de terceros sin sanear. Defensa: autorización por objeto en cada acceso, cachear solo lo explícitamente público variando por sesión y respetando no-store, y escapar/sanear toda salida HTML.
Laboratorio de vídeo educativo basado en la reproducción anonimizada (empresa ficticia Fotia) de técnicas reales de acceso a contenido privado.
