Burp ha identificado una vulnerabilidad potencial de DOM XSS:
La aplicación puede ser vulnerable a los scripts entre sitios basados en DOM. Los datos se leen desde window.location.href y se pasan a la función 'setAttribute ()' de un elemento DOM
En este ejemplo, el código vulnerable es similar (no puedo incluir el original real para confidencialidad):
var thing = windows.location.href;
...
element.setAttribute("fill", thing);
La OWASP DOM XSS Cheat Sheet dice "Escape de JavaScript antes de insertar datos no confiables en el texto secundario del atributo HTML dentro de la ejecución Contexto". No estoy muy seguro de lo que significan por contexto de ejecución.
Al hacer algunas pruebas rápidas (en Chrome), esto es vulnerable:
document.getElementById("bob").setAttribute("onclick", "alert(1)");
Pero esto no es:
document.getElementById("bob").setAttribute("fill", "" onclick="alert(1)");
Dado todo eso, siento que Burp ha reportado un falso positivo. Pero me preocupa que me haya perdido algo, por lo que se agradecería recibir más información.
Solo me interesa si esto es explotable en navegadores recientes. No estoy interesado en "no es la mejor práctica" o "explotable en IE 4 en una Mac".