BBLABSBBLABS
LaboratoriosAprender desde 0FuncionesPreciosTestimoniosDetrás de BBLABS
  1. Inicio
  2. Labs
  3. Filtración de las fotos privadas de una cuenta en una red social de fotos (IDOR, Web Cache Deception y XSS)
Media1h

Filtración de las fotos privadas de una cuenta en una red social de fotos (IDOR, Web Cache Deception y XSS)

Por @gorka

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

164 visitas3 completadosActualizado nov 2026
Iniciar sesión para empezar

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.

650

hunters entrenando

50

labs de hackeos reales

380

completaciones

$12.000

pagados por estos bugs

40 flags capturadas esta semana
Crear cuenta
Ya tengo cuenta

Acceso a todos los labs · sin permanencia · cancela cuando quieras

Hackers que lo han resuelto· 3

noniná_sec1
@noniná_secHace 5 días
lydiel2
@lydielHace 6 días
kyzk33
@kyzk3Hace 27 días

Objetivos

1
Ver que la cuenta de la víctima (@laura.gomez) es privada y su contenido no debería ser accesible.
2
IDOR: previsualizar por id secuencial un post privado ajeno sin comprobar dueño ni privacidad.
3
Leer el caption e imagen del post privado con la flag directamente desde la previsualización.
4
Comprobar que las imágenes privadas dan 403 pero el CDN las cachea por extensión de URL.
5
Web Cache Deception: que la víctima abra la URL de su imagen y leer tú la copia cacheada.
6
XSS almacenado en un mensaje directo que la víctima abre y ejecuta con su sesión.
7
Exfiltrar el álbum privado de la víctima con el XSS (o leerlo por IDOR/WCD).
8
Capturar la flag: el secreto que vive en el post privado de la víctima.

Información

Plataforma
HackerOne
Dificultad
Media
Duración
1h
Bounty
Sin recompensa
Completados
3
Creador
gorka@gorka
Actualizado
nov 2026

Descarga el entorno

Reprodúcelo y encuentra el bug tú mismo

Crear cuenta

Herramientas

curlBurp SuiteNavegador webPython

Prerequisitos

  • Cuentas privadas / ACL
  • HTTP y APIs REST
  • XSS y cachés/CDN

Tags

IDORXSSInformation DisclosureBAC

Logro que recibirás

Cuando resuelvas este lab desbloqueas este logro compartible

Cuando resuelvas este lab desbloqueas este logro compartible

Writeups de la comunidad

Gratis · sin cuenta

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)

  1. Recon. Observa que el perfil de Laura es privado. Fíjate en las peticiones del visor de posts y de las imágenes.

  2. Vía 1 — IDOR. La previsualización de un post (GET /api/posts/:id/preview y /preview/image) usa ids secuenciales y no comprueba dueño ni privacidad. Cambia el :id hasta el post privado de Laura y lee su caption/imagen con la flag.

  3. Vía 2 — Web Cache Deception. Las imágenes privadas (/u/:username/:file) dan 403 a terceros y el origen manda Cache-Control: private, no-store, pero el "CDN" cachea por extensión de URL ignorando cookies y ese Cache-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.

  4. Vía 3 — XSS almacenado. Un mensaje directo (POST /api/messages) guarda HTML crudo que el cliente pinta con dangerouslySetInnerHTML. 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.

  5. 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.

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.

BBLABS LogoBBLABS

Laboratorios de hacking basados en hackeos reales. Aprende practicando sobre entornos vulnerables, con la resolución explicada paso a paso.

Producto

  • Funcionalidades
  • Precios
  • Labs
  • Aprender desde 0
  • Blog
  • Detrás de BBLABS

Legal

  • Términos
  • Privacidad
  • Cookies
  • Entrar
  • Crear cuenta

Para cualquier duda, bug, soporte o sugerencia puedes escribir a team@bblabs.es

© 2026 BBLABS. Todos los derechos reservados.