🧪 Ejemplo práctico: probando un XSS reflejado en el laboratorio
Vamos a ver un caso práctico en el laboratorio que te dejé preparado para experimentar.
📥 Paso 1: Acceder al campo vulnerable
Entramos en la página donde podemos ingresar texto plano, como si estuviéramos usando un formulario de búsqueda

Escribimos algo simple, por ejemplo nuestro nombre, y al pulsar enter veremos que el resultado aparece en pantalla.

🔍 Paso 2: Observa la URL
Después de escribir nuestro nombre, si miramos la barra del navegador, veremos que la URL ha cambiado:

Esto significa que la página está devolviendo en pantalla lo que introducimos directamente desde la URL. Y si eso no se filtra… es momento de ponerlo a prueba.
🚨 Paso 3: Probar un payload de XSS
Ahora probamos con un ejemplo simple de inyección:
https://ejemplo.com/busqueda?q=<script>alert('Hola')</script>
Si todo va como esperamos, saltará una ventana con un mensaje.
Eso significa que el navegador ha ejecutado nuestro código JavaScript.
Hemos provocado un XSS reflejado.

🔁 Paso 4: ¿Y qué más podríamos hacer?
Además de lanzar mensajes, con un XSS reflejado podríamos:
- Redirigir al usuario a otra página
- Insertar formularios falsos
- Robar cookies de sesión (si no están protegidas)
- Cargar scripts externos
🧭 Ejemplo real: redirección automática
Al igual que podemos hacer saltar un mensaje de Alerta, podemos añadir campos, redirigir a otras páginas….
Un ejemplo de redirección a otra página sería:
https://xss-reflejado-lab.onrender.com/xss-reflejado?nombre=<a href="https://pagina-segura.com/?mensaje=<script>window.location='https://phishing.com'<script>window.location=’https://google.com'</script>
De esta manera si enviamos esta url a otra persona, modificándola a nuestro gusto podríamos redirigir a una persona a la pagina de Google o a una maliciosa.
Esto es solo una muestra.
Como ves, el XSS reflejado puede parecer inocente, pero es una puerta abierta a muchos abusos si no se controla bien.