¿Por qué esta carga útil XSS no funciona?

0

TOday necesitaba demo XSS basado en DOM, y encontré esta página que está hecha para el mismo propósito exacto Me pregunto por qué <img+src+onerror=alert(1)> funciona pero <script>alert(1)</script> no?

    
pregunta Sam 25.07.2018 - 18:52
fuente

1 respuesta

2

La página a la que te refieres tiene el siguiente código:

<p id="p1">Hello, guest!</p>
<script>
...
var username = searchParams.get('name');
...
document.getElementById('p1').innerHTML = 'Hello, ' + username + '!';

Su expectativa es que la configuración del nombre de usuario en <script>alert(1)</script> debería dar como resultado <p id="p1">Hello, <script>alert(1)</script></p> , lo que en su opinión debería dar como resultado la ejecución del script.

Pero este no es el caso. La documentación de Element.innerHTML explica por qué:

  

HTML5 especifica que no se debe ejecutar una etiqueta <script> insertada con innerHTML.

Inmediatamente antes de esta declaración también hay un ejemplo similar al suyo para ilustrar esto.

    
respondido por el Steffen Ullrich 25.07.2018 - 19:47
fuente

Lea otras preguntas en las etiquetas