xss
Cross-Site Scripting: inyección de JavaScript en el contexto de otra página, robando sesiones y datos.
Respuesta rápida
¿Qué es xss?
Cross-Site Scripting: inyección de JavaScript en el contexto de otra página, robando sesiones y datos.
Artículos
15
Básico
1
Intermedio
4
Avanzado
10
Nivel básico
1Nivel intermedio
4postMessage — vulnerabilidades comunes: origin bypass, XSS sink, IDOR cross-window
Cómo identificar y explotar vulnerabilidades en window.postMessage(): listeners sin validación de origin, payloads JSON inseguros que llegan a DOM XSS, IDOR cross-origin.
Stored XSS €1200 — bypass de sanitizer via SVG href javascript: con entity encoding
Walkthrough de un report real €1200: stored XSS en POE bypassando sanitizer fix mediante SVG con href=`javascript:` y HTML entity encoding sobre los caracteres filtrados.
XSS contexts — payloads por contexto (HTML, atributo, JS, URL, CSS)
Cómo identificar el contexto exacto donde se inyecta tu input y los payloads que escapan cada uno: HTML body, atributo HTML, JS string, JS event, URL, CSS, JSON.
Stored XSS vía SVG con href javascript: en chat — reclasificación de Self-XSS
Un payload SVG subido como adjunto. Filtro bypassed. Renderizado inline en el contexto principal. Cualquier participante del chat queda expuesto al click.
Nivel avanzado
10DOM XSS — gadgets, postMessage handlers y CVE-2025-59840
DOM XSS no es solo innerHTML. Sources/sinks, gadget chains via toString(), postMessage handlers sin origin check, hash-based routing rotos.
CSP bypass + CORS misconfig + XSS — chain completo de explotación
Cómo encadenar misconfiguración CSP (unsafe-inline, wildcard sources, JSONP endpoints whitelistados), CORS con credentials y XSS para data exfiltration sin restricciones.
DOM clobbering — override de variables globales JS para bypassear sanitizers
Cómo usar DOM clobbering (name/id collisions) para sobrescribir variables JS globales y bypassear sanitizers como DOMPurify, achivar XSS donde innerHTML está bloqueado por defecto.
XSS Android — Activity exported via ContentActivity (POE/Quora real report)
Walkthrough de XSS Android explotable via Activity Exported intent en POE: cómo un ContentActivity sin filtros leaks WebView a sites attacker-controlled.
Secondary context XSS — encontrando XSS donde el primary parsing no lo detecta
Cuando el primary parsing escapa pero un secondary context (markdown render, BBCode, custom template engine) interpreta de nuevo, abriendo XSS oculto a sanitizers tradicionales.
XSS escalation — de Self-XSS a Account Takeover con chains reales
Cómo convertir un Self-XSS aparentemente inútil en un takeover total: clickjacking, login-CSRF + Self-XSS, cookie tossing, postMessage hijack, hash injection, OAuth flow abuse.
XSS WAF bypass — encoding, parser differentials, case-only mutations
Técnicas de bypass WAF para XSS: HTML entities, hex/decimal/unicode encoding, parser differentials (browser vs WAF), comments injection, case variations, JS template literals.
CSP Bypass — JSONP, base-uri, AngularJS gadgets, dangling markup
Content-Security-Policy roto con strict-dynamic + JSONP, sin base-uri, AngularJS sandbox escapes, JSON hijacking. Cómo escalar XSS cuando el CSP teóricamente bloquea.
Mutation XSS — cuando el HTML cambia entre sanitizar y renderizar
El sanitizer ve A pero el browser renderiza B. SVG namespace tricks, comments mal cerrados, MathML, template element. Cómo encontrar mXSS contra DOMPurify y sanitizers caseros.
Reflected XSS en página 429 vía Google Analytics — el snippet de tracking como vector
El snippet de Google Analytics tomaba parte de la URL como input sin sanitizar. Un breakout de string literal dentro del propio script: la inyección estaba ya en contexto JavaScript.
Practica xss con labs reales
Aplica las técnicas en entornos seguros basados en reportes reales de bug bounty.
hunters entrenando
labs de reportes reales
completaciones
en bounties practicados
Deja de leer sobre bugs y empieza a cazarlos
Crea tu cuenta gratis y practica sobre labs basados en reportes reales que pagaron miles de euros. La Academy es gratis para siempre.
Sin tarjeta · Academy gratis · cancela cuando quieras