This content originally appeared on DEV Community and was authored by Al Fondo Del Ciber
Inyección de JavaScript a través de una búsqueda mal validada 🧠💻⚠️
Una de las formas más simples —y peligrosas— de encontrar vulnerabilidades XSS es observar cómo se comporta una página al mostrar resultados de búsqueda.
En este caso, nos encontramos con una aplicación que incrusta directamente el valor de búsqueda dentro de una variable JavaScript. Eso por sí solo ya es una bandera roja 🚩.
Paso 1: Verificar cómo se refleja el input
Hacemos una búsqueda sencilla, por ejemplo hola
, y observamos el código fuente. Lo encontramos tanto en el contenido de la página como dentro de un bloque <script>
, asignado a una variable JavaScript. Algo así como:
var search = 'hola';
document.createElement("img").src = "/search/" + search;
Aquí es donde empieza el problema.
Paso 2: ¿Podemos romper esa variable?
La idea es simple: si no se ha escapado correctamente el contenido que introducimos, podríamos cerrar la cadena de la variable y escribir nuestro propio código JavaScript.
Intentamos inyectar:
';alert(1);//
Pero falla. ¿Por qué?
Paso 3: Diagnóstico en consola
Al abrir la consola del navegador, vemos que hay un error de sintaxis. Eso significa que hemos salido correctamente de la variable, pero algo está mal formado.
Y efectivamente: hay una comilla colgando al final del script original, porque el input que metimos no cerró bien el bloque.
Paso 4: Solucionar la sintaxis
Entonces la solución es cerrar la comilla abierta y añadir algo que equilibre el código JavaScript.
Por ejemplo, esta carga funciona perfectamente:
';alert(1);const a='
Este código:
Cierra la comilla de la variable.
Ejecuta alert(1);
Y define una constante a que utiliza la comilla final que el script original estaba esperando.
✅ ¡Inyección de JavaScript conseguida!
Conclusión
Cuando una aplicación refleja valores de entrada dentro de scripts sin escaparlos correctamente, abre la puerta a vulnerabilidades XSS basadas en JavaScript embebido.
Este caso demuestra lo fácil que puede ser romper el contexto del script e insertar código malicioso.
🔒 La validación y el escape de caracteres en contextos de JavaScript es esencial. No solo se trata de proteger el HTML.
AlFondoDelCiber #XSS #JavaScript #Ciberseguridad
🎥 TikTok: https://www.tiktok.com/@alfondodelciber/video/7497239841000787222
This content originally appeared on DEV Community and was authored by Al Fondo Del Ciber

Al Fondo Del Ciber | Sciencx (2025-06-25T18:14:59+00:00) Inyección de JavaScript a través de una búsqueda mal validada 🧠💻⚠️. Retrieved from https://www.scien.cx/2025/06/25/inyeccion-de-javascript-a-traves-de-una-busqueda-mal-validada-%f0%9f%a7%a0%f0%9f%92%bb%e2%9a%a0%ef%b8%8f/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.