DOM XSS in innerHTML sink using source location.search – PortSwigger Write Up
En este post vamos a estar resolviendo el laboratorio: “DOM XSS in innerHTML sink using source location.search”:
Lo primero de todo como siempre es acceder al laboratorio:
Una vez accedido, vemos una barra de búsqueda. Por lo que vamos a buscar cualquier cosa:
Si nos fijamos, lo que hemos buscado se ve reflejado en la web. Y si damos click derecho y vemos la parte del código fuente donde se situa, vemos que se almacena en el innerHTML del tag .
Por lo que conociendo esto, podemos intentar usar en la búsqueda un payload especialmente diseñado para escaparnos de este tag, y ejecutar código Javascript. Por ejemplo, usaremos el siguiente payload:
Por ejemplo vamos a usar:
❯ </span><img src=/ onerror=alert(1) />//
Al buscar por él, podemos ver como se nos ejecuta con éxito el payload. Hemos pasado de:
❯ <span id=”searchMessage”>hola</span>
a esto:
❯ <span id=”searchMessage”></span><img src=/ onerror=alert(1) />//</span>
¡Un saludo y espero que os sirva de apoyo!