BBLABSBBLABS
LaboratoriosAprender desde 0FuncionesPreciosTestimoniosDetrás de BBLABS
  1. Inicio
  2. Labs
  3. Stored XSS via SVG File Upload
Media15 min

Stored XSS via SVG File Upload

Por @gorka

Red social donde se pueden subir archivos SVG como avatares. Los SVGs se renderizan con etiquetas <object> que permiten la ejecucion de JavaScript embebido.

$750

Es lo que una empresa pagó por este fallo en HackerOne. Aquí lo tienes reconstruido para que lo encuentres tú.

1.3K visitas42 completadosActualizado sept 2026
Iniciar sesión para empezar

Aprende a encontrar este bug

Este bug pagó $750 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 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· 8

emperador1
@emperadorHace 8 días
r00thor2
@r00thorHace 13 días
bizedtv3
@bizedtvHace 16 días
elc0ket
@elc0ketHace 19 días
jose.vuln
@jose.vulnHace 21 días
ov3rdrive
@ov3rdriveHace 25 días
<d4r1c4r0>
@<d4r1c4r0>ago 2026
mateoalahuacbam
@mateoalahuacbamago 2026

Objetivos

1
Subir un archivo SVG como avatar
2
Observar que se renderiza con <object> (no <img>)
3
Crear un SVG con JavaScript embebido
4
Verificar ejecucion de XSS

Información

Plataforma
HackerOne
Dificultad
Media
Duración
15 min
Bounty
$750
Completados
42
Creador
gorka@gorka
Colaboradores
antoniorivera@antoniorivera
Actualizado
sept 2026

Descarga el entorno

Reprodúcelo y encuentra el bug tú mismo

Crear cuenta

Herramientas

Editor de textoNavegador

Prerequisitos

  • SVG basico
  • XSS via SVG
  • Diferencia entre <img> y <object>

Tags

XSS

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.

Despliegue

# Opcion 1: autodeploy
./autodeploy.sh

# Opcion 2: manual
docker compose up --build

# Acceder
http://localhost:1000

Compatible con macOS, Linux y Windows (Docker Desktop / WSL).

Para parar:

./autodeploy.sh destroy
# o: docker compose down -v

Contenido del Lab

La aplicacion

Chirp con subida de avatares SVG renderizados con .

La vulnerabilidad

Los SVGs subidos se renderizan con <object> que ejecuta JavaScript embebido en el SVG (a diferencia de <img> que es seguro). Un SVG con <script>alert(1)</script> o onload=alert(1) se ejecuta.

Cadena de ataque

1. Crear SVG: <svg xmlns=...><script>alert(1)</script></svg>
2. Subir como avatar
3. Cualquier usuario que vea el perfil → XSS ejecutado

Solucion interactiva

Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.


Flag

(XSS ejecutado via SVG)

Remediacion

  1. Renderizar SVGs con en vez de
  2. Sanitizar SVGs (eliminar scripts y event handlers)
  3. CSP que bloquee inline scripts
  4. Servir SVGs con Content-Disposition: attachment

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.