BBLABS v2BBLABSv2
>Inicio>Labs
>New labs

Últimos 3 labs

Cargando…

Ver todos los labs →
>Creators>Ranking
>Aprender

Aprender bug bounty

AcademyGuías, cheatsheets y diccionarioVulnerabilidadesXSS, SQLi, IDOR, SSRF y másHunter RoadmapTu ruta de bug bounty paso a pasoBlogGuías y noticias de bug bounty
>Empresa>Precios
EN
AccederAcceder
>Inicio>Labs>New labs>Creators>Ranking>Aprender>Empresa>Precios
EN
Iniciar SesiónCrear Cuenta
  1. Inicio
  2. Labs
  3. Stored XSS to Domain Takeover
Insane$1,20045 min

Contacto

Practica, aprende y hackea

Plataforma de práctica de bug bounty con labs basados en reportes reales. Aprende hacking ético en entornos seguros.

contactar→

Síguenos

YouTube
@0xGorka
X
@gorkaelbochi
LinkedIn
gorka-el-bochi-morillo
Instagram
@_.gorkaaa.b
Email
team@bblabs.es

Accede a todos los labs desde 7,99€/mes

Nuevos labs cada semana. Cancela cuando quieras.

Crear cuenta

BBLabs es la plataforma de laboratorios de bug bounty en español donde aprender bug bounty con vulnerabilidades reales extraídas de reportes pagados en HackerOne, Bugcrowd e Intigriti. Aquí practicas hacking web —XSS, SQLi, IDOR, SSRF, CSRF y más— en entornos descargables, capturas la flag, lees el writeup y aplicas la técnica en programas activos de bug bounty.

BBLabs es la alternativa en español a HackTheBox, TryHackMe y PentesterLab para quienes quieren practicar bug bounty con reportes reales en lugar de CTFs artificiales. Desde 7,99€/mes, sin permanencia.

→ Aprender bug bounty desde cero→ Cómo hacer bug bounty paso a paso→ Reportes de bug bounty reales→ BBLabs para empresas y academiasLabsAcademyVulnerabilidadesHerramientasRanking de huntersLabs de XSSLabs de IDORLabs de SSRFLabs de CSRFHackTheBox alternativaHack4u alternativaTryHackMe alternativaPortSwigger alternativaPentesterLab alternativaBug Bounty Labs comparativaHackerOne para practicarOffSec / OSCP alternativaINE / eWPT alternativaHTB Academy alternativaDVWA alternativaJuice Shop alternativaVulnHub alternativaPentesterAcademy alternativaRoot-Me alternativaHackTheBox vs TryHackMeMejores plataformas bug bounty 2026BlogSpoilers¿Qué es el bug bounty?¿Cuánto se gana en bug bounty?OWASP Top 10 explicadoMejores webs para practicar hacking webCómo ser hacker ético desde ceroTutorial de Burp Suite en españolOSCP en español: guía y preparaciónGoogle Dorks para bug bountyCuánto gana un hacker ético en EspañaHerramientas de bug bounty 2026Mejores certificaciones de ciberseguridad 2026Burp Suite tutorialsqlmap tutorialffuf fuzzing webnuclei tutorialHTTP Request SmugglingWAF bypassPrompt injection (LLM)Google Dorks
Hecho cony código
TérminosPrivacidadComparativaEN

© 2026 BBLABS v2 — Todos los derechos reservados

Stored XSS to Domain Takeover

Por @gorka

Plataforma de hosting cloud con feature de impersonacion de cuentas (Access Manager). Un Stored XSS en el nombre de las plantillas de email se activa al duplicarlas ("Copy of: PAYLOAD"). El XSS ejecuta en la sesion real de la victima (no impersonada), bypaseando las restricciones de permisos para modificar DNS records y lograr domain takeover.

679 visitas14 completadosActualizado ago 2026
Iniciar sesión para empezar
Vídeo explicativopor @gorka

Aprende a encontrar este bug

Este bug pagó $1,200 en HackerOne.

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 reportes reales

380

completaciones

$200.000

en bounties practicados

40 flags capturadas esta semana
Crear cuenta
Ya tengo cuenta

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

Hunters que lo han resuelto· 7

zynap1
@zynapHace 12 días
flyingwhales2
@flyingwhalesHace 12 días
AL3
@alndrwlaHace 29 días
AL
@alex.burja.2000jul 2026
pl4nkton
@pl4nktonjun 2026
benjaminnocervigni
@benjaminnocervignimay 2026
MA
@maxioliveramay 2026

Objetivos

1
Obtener acceso de impersonacion a la cuenta de la victima (sarah_wilson) via Access Manager
2
Descubrir que los cambios de DNS estan bloqueados durante la impersonacion
3
Encontrar el Stored XSS en los nombres de plantillas de email al duplicarlas
4
Inyectar un payload XSS que modifique los DNS records del dominio de la victima
5
Explotar el bot que renderiza las plantillas para ejecutar el XSS en la sesion real de la victima
6
Recibir la flag via el health check de DNS que apunta al servidor del atacante

Información

Plataforma
HackerOne
Dificultad
Insane
Duración
45 min
Bounty
$1,200
Completados
14
Creador
gorka@gorka
Colaboradores

Logro que recibirás

Cuando resuelvas este lab desbloqueas este logro compartible

BBLABS.ESLab Resuelto
Insane$1,200
// achievement_unlocked

Stored XSS to Domain Takeover

XSS
ago 2026
gorka
solved_by@gorkaMiembro desde mar 2026
bblabs.es// real bug bounty practice

Writeups de la comunidad

La aplicacion

NexusHost es una plataforma de hosting cloud donde los usuarios gestionan servidores, dominios con DNS, y plantillas de email. La app incluye:

  • Gestion de Servidores — Ver servidores con specs, estado, region y coste
  • Gestion de Dominios — Dominios con registros DNS editables (A/CNAME), SSL, auto-renovacion
  • Plantillas de Email — Crear, editar, duplicar y eliminar plantillas de correo
  • Access Manager — Invitar a otros usuarios a impersonar tu cuenta con permisos limitados
  • Panel Admin — Estadisticas de la plataforma, gestion de usuarios, log de actividad

La vulnerabilidad

La pagina de plantillas renderiza los nombres con dangerouslySetInnerHTML (para soportar "nombres ricos"). Al duplicar una plantilla, el nombre se genera como Copy of: ${original.name} sin sanitizar.

Si el nombre original contiene HTML/JavaScript, al duplicar se crea una plantilla con XSS persistente que se ejecuta cada vez que alguien ve la lista de plantillas.

La restriccion de permisos

Los usuarios que impersonan una cuenta tienen permisos limitados:

  • Pueden ver servidores, dominios, y gestionar plantillas
  • NO pueden modificar DNS — el endpoint devuelve 403 "DNS modifications not permitted in impersonation mode"

El bypass via XSS

El XSS se ejecuta en el contexto del navegador de la victima (sarah_wilson), que revisa sus plantillas cada 15 segundos. Como la victima NO esta impersonando (es su propia sesion), el XSS puede hacer fetch PUT /api/domains/:id/dns con exito, cambiando el destino DNS del dominio.

El health check de DNS

Cada 10 segundos, el servidor verifica los dominios enviando un POST con la flag al dns_target configurado. Cuando el atacante cambia el DNS a su propio servidor, recibe la flag.

Cadena de ataque completa

1. Registrarse como atacante
2. Access Manager → Solicitar acceso a sarah_wilson → Auto-aceptado
3. Impersonar sarah_wilson
4. Intentar cambiar DNS directamente → 403 (bloqueado)
5. Crear plantilla con XSS en el nombre
6. Duplicar plantilla → "Copy of: <img src=x onerror=fetch(...)>"
7. Dejar de impersonar → Bot renderiza plantillas cada 15s
8. XSS ejecuta en sesion de sarah → cambia DNS a host.docker.internal:9999
9. Montar servidor HTTP en puerto 9999
10. DNS health check (10s) → POST /health-check con flag

Payload XSS de ejemplo

SCREEEETTTTT

Recibir la flag

# Opcion 1: Python
python3 -m http.server 9999

# Opcion 2: Netcat
nc -lp 9999

# Recibiras un POST a /health-check con body:

Solucion interactiva

Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones que ejecutan cada peticion automaticamente.


Remediacion

  1. Sanitizar todo input antes de renderizar — usar textContent en vez de innerHTML
  2. Nunca usar dangerouslySetInnerHTML con datos de usuario sin sanitizar
  3. Implementar Content Security Policy que bloquee scripts inline
  4. Requerir re-autenticacion para cambios criticos como DNS
  5. Auditar y alertar sobre modificaciones de DNS en tiempo real
antoniorivera
@antoniorivera
Actualizado
ago 2026

Descarga el entorno

Reprodúcelo y encuentra el bug tú mismo

Crear cuenta

Herramientas

Burp SuiteNavegadorNC

Prerequisitos

  • Conocimientos de XSS stored
  • Saber usar fetch()

Tags

XSS