¿La eliminación de la interacción del usuario crea un entorno seguro que anula XSS?

2

Supongamos que hay un servicio en línea que toma como entrada una cadena DOM, carga ese DOM en un navegador en su servidor y devuelve una captura de pantalla.

¿Sería posible que el servicio en línea proteja completamente la integridad de la propia máquina host contra ataques XSS?

Tengo entendido que los ataques XSS dependen de la interacción del usuario para ser efectivos. Si no hay ningún usuario que interactúe con el navegador, y solo se tomen capturas de pantalla, seguro que cualquier tipo de contenido loco podría cargarse en el navegador, pero ¿podría comprometerse la seguridad del host?

    
pregunta Cory Klein 27.05.2016 - 22:26
fuente

1 respuesta

1

Si bien hay una entrada que cualquiera puede modificar, sin sanear y devolver al usuario, tendremos un vector XSS.

El ejemplo "clásico" es el select que recibe la opción a través de la URL:

...
Select your language:
<select><script>
document.write("<OPTION value=1>"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"</OPTION>");
document.write("<OPTION value=2>English</OPTION>");
</script></select>
...

Entonces, si un usuario malintencionado en lugar de enviar una respuesta estándar como:

http://www.some.site/page.html?default=French

Enviar una solicitud como esta:

http://www.some.site/page.html?default=<script>alert(document.cookie)</script>

Las cookies del usuario se mostrarán en la alerta.

Algunos enlaces de referencia en XSS basados en DOM y cómo prevenirlos.

enlace enlace

    
respondido por el raziel 27.05.2016 - 22:59
fuente

Lea otras preguntas en las etiquetas