XSSCross-Site Scripting
Definición
Vulnerabilidad donde JavaScript controlado por el atacante se ejecuta en el navegador de la víctima en el contexto de un dominio confiable. Robo de sesión, account takeover y phishing dirigido.
Tres variantes: Reflected (payload va en URL/params, se refleja sin sanitizar), Stored (payload se persiste en backend y dispara cuando otros lo cargan), DOM-based (la inyección ocurre client-side por JS inseguro).
Impacto en bug bounty: depende del scope y del dominio. XSS en login = ATO (account takeover) con cookie theft → payout alto. XSS en mainSite con cookies HttpOnly → impacto reducido (defacement, phishing). Stored XSS persistente en perfil ajeno = clásico jugoso.
Defensa moderna: CSP estricta (no inline scripts, nonce per request), context-aware encoding (HTML, URL, JS, CSS son distintos), framework templating que escapa por defecto (React JSX, Vue {{ }}).
