Un atacante puede intentar engañarme con una URL maliciosa, robar mis cookies o mi historial, etc. ¿Pero también necesita mi intervención o una interacción humana para su ataque?
La fuente podría estar en cualquier lugar donde haya un enlace para que lo sigas: un correo electrónico, un foro, una publicación en Facebook, Twitter, o puede ser que ya estés navegando en un sitio web malintencionado o comprometido.
La parte de "interacción humana" es que sigues el enlace, no se requiere más interacción. Por ejemplo. si hubo un error XSS no persistente en www.example.com
y ya inició sesión como el sitio "lo recuerda", el enlace que explota este error podría capturar las cookies de su sesión de www.example.com
y enviarlas al atacante automáticamente; no es necesario que haga nada como víctima, aparte de seguir el enlace original.
Algunos ataques de phishing espere a que su navegador esté inactivo y luego transforme la página en el sitio ya comprometido. no hay nada que les impida adaptar el ataque de phishing a XSS al redirigirlo a una página comprometida con XSS para secuestrar las cookies de su sesión con la esperanza de que no se dé cuenta ya que no ha activado la pestaña por un tiempo. La redirección completa de la página puede ser necesaria cuando el sitio XSSed protege contra la carga de marcos a través de X-Frame-Options
por lo que el sitio debe cargarse en una página completa para estar comprometido.
¿Qué más puede hacer con XSS no persistente?
Muchas cosas. Colocar en un keylogger de JavaScript, por ejemplo. Básicamente, el atacante controlará el lado del cliente de sus sesiones y tendrá acceso para ver y cambiar cualquiera de sus datos para este dominio que se encuentra en el lado del cliente.