Al probar diferentes cargas, se detecta que no funcionan:
Tampoco esta:
Y tampoco esta:
Las cargas utilizadas fueron:
Se procede a revisar el codigo fuente y se detecta la siguiente funcion que probablemente esta filtrando las entradas maliciosas:
La función sanitizeKey está diseñada para eliminar ciertas cadenas específicas de una clave. Sin embargo, no aborda adecuadamente las variaciones o fragmentaciones de estas cadenas. Vamos a analizar por qué:
La función sanitizeKey depende de coincidencias exactas para reemplazar. Cuando la cadena __proto__ está incrustada dentro de otra cadena (como en el siguiente payload), la función no la reconoce como un mal atributo y no la elimina.
Las cargas anteriores son funcionales.
Ahora si analizamos el codigo fuente:
Se detecta que la inyeccion o el payload debe abordar a transport_url.
Por lo anterior, la carga quedaria de la siguiente manera:
Pero al utilizarla obtenemos un error:
Y al analizar el codigo fuente se puede apreciar la inclusion de foo:
La carga final para desplegar un XSS seria la siguiente: