Cross-site Scripting (XSS) ocurre cada vez que una aplicación toma datos que no son de confianza y los envía al cliente (navegador) sin validación. Esto permite a los atacantes ejecutar secuencias de comandos maliciosas en el navegador de la víctima, lo que puede provocar el secuestro de sesiones de usuario, desfigurar sitios web o redirigir al usuario a sitios maliciosos.

Comprendamos los agentes de amenazas, los vectores de ataque, la debilidad de la seguridad, el impacto técnico y los impactos comerciales de esta falla con la ayuda de un diagrama simple.

3. secuencias de comandos entre sitios

Tipos de XSS

Ejemplo

La aplicación utiliza datos no confiables en la construcción sin validación. Los caracteres especiales deben ser escapados.

http://www.webpage.org/task/Rule1?query=try

El atacante modifica el parámetro de consulta en su navegador para:

http://www.webpage.org/task/Rule1?query=<h3>Hello from XSS"</h3>

Las manos en

Paso 1 : inicie sesión en Webgoat y navegue hasta la sección Cross-site scripting (XSS). Ejecutemos un ataque Stored Cross-site Scripting (XSS). A continuación se muestra la instantánea del escenario.

3. xss

Paso 2 : según el escenario, iniciemos sesión como Tom con la contraseña 'tom' como se menciona en el escenario mismo. Haga clic en 'ver perfil' y acceda al modo de edición. Dado que tom es el atacante, inyectemos Java script en esos cuadros de edición.

<script> 
   alert("HACKED")
</script> 

3. xss

Paso 3 : tan pronto como finaliza la actualización, Tom recibe un cuadro de alerta con el mensaje "hackeado", lo que significa que la aplicación es vulnerable.

3. xss

Paso 4 : ahora, según el escenario, debemos iniciar sesión como jerry (HR) y verificar si jerry se ve afectado por el script inyectado.

3. xss

Paso 5 : después de iniciar sesión como Jerry, seleccione 'Tom' y haga clic en 'ver perfil' como se muestra a continuación.

3. xss

Mientras ve el perfil de tom desde la cuenta de Jerry, puede obtener el mismo cuadro de mensaje.

3. xss

Paso 6 : este cuadro de mensaje es solo un ejemplo, pero el atacante real puede hacer mucho más que mostrar un cuadro de mensaje.

Mecanismos Preventivos

Fuente: https://www.tutorialspoint.com/security_testing/testing_cross_site_scripting.htm