🍖Laboratorio: DOM XSS en document.write, el receptor usando la fuente location.search
Ahora si vamos a empezar:
Primero vamos a buscar el document.write dentro del DOM para ver donde está y analizar el código.
Generamos una cadena alfanumerica aleatoria y encontramos que se encuentra almacenada en una <img>
Vulnerabilidad Explicada
Uso de document.write:
document.write se utiliza para insertar HTML en el documento, pero no hace ninguna validación o sanitización de las entradas. Esto significa que si el query contiene código HTML o JavaScript, será interpretado y ejecutado por el navegador.
Obtención del parámetro search de la URL:
El código obtiene el valor del parámetro search de la URL sin realizar ninguna sanitización o validación. Si un atacante puede manipular este valor, puede inyectar código malicioso.
Construcción del HTML con el valor del parámetro search:
El valor del parámetro search se concatena directamente en una cadena HTML que se pasa a document.write. Esto permite la inyección de código malicioso.