¿Qué son las secuencias de comandos entre sitios (XSS) y por qué es una amenaza para la seguridad?

  • Owen Little
  • 0
  • 4027
  • 3
Anuncio

Las vulnerabilidades de secuencias de comandos entre sitios son el mayor problema de seguridad del sitio web en la actualidad. Los estudios han encontrado que son sorprendentemente comunes: el 55% de los sitios web contenían vulnerabilidades XSS en 2011, según el último informe de White Hat Security, publicado en junio de 2012. Mientras que la mayoría de las personas han oído hablar de virus informáticos Una breve historia de los 5 peores virus informáticos de Todos los tiempos Una breve historia de los 5 peores virus informáticos de todos los tiempos La palabra "virus" y su asociación con las computadoras fue colocada por el científico informático estadounidense Frederick Cohen, quien la usó para describir "un programa que puede 'infectar' otros programas modificándolos para incluir un posible ... y otros problemas similares, las vulnerabilidades XSS siguen siendo desconocidas para la persona promedio.

Una vulnerabilidad de secuencias de comandos entre sitios permite a un atacante ejecutar código JavaScript arbitrario (desde otro sitio) en una página web. El código se ejecuta en la página web en el navegador del usuario..

Un ejemplo: el gusano de Twitter StalkDaily

Echemos un vistazo a un ataque XSS que ocurrió en el pasado con Twitter. En 2009, el gusano StalkDaily ¿Cuál es la diferencia entre un gusano, un troyano y un virus? [MakeUseOf explica] ¿Cuál es la diferencia entre un gusano, un troyano y un virus? [MakeUseOf explica] Algunas personas llaman a cualquier tipo de software malicioso un "virus informático", pero eso no es exacto. Los virus, gusanos y troyanos son diferentes tipos de software malicioso con diferentes comportamientos. En particular, se extendieron en muy ... proliferaron en Twitter. Cuando un usuario de Twitter visitó la página de perfil de un usuario infectado, su página de perfil también se infectó, propagando el gusano. El gusano también envió tweets desde cada cuenta infectada..

Entonces, ¿cómo funciona exactamente el gusano StalkDaily? ¿Alguien hackear los servidores web de Twitter? No del todo, aunque fue una especie de truco.

Cada usuario de Twitter puede establecer una breve biografía en su página de perfil. Los usuarios ingresan texto en un cuadro de perfil y, una vez que guardan el perfil, el texto aparece en su página de perfil. Alguien se dio cuenta de que Twitter no desinfectaba correctamente la entrada de texto del cuadro de biografía (llegaremos a esto más adelante), solo colocó el texto que los usuarios ingresaron directamente en el código fuente de la página web. Esto permitió a un usuario ingresar una etiqueta HTML que carga un archivo JavaScript desde un servidor web de terceros.

Cuando otro usuario de Twitter visitó la página de perfil infectada, su navegador cargó el script. El script tenía acceso completo a todo lo que el código oficial de Twitter usaba en la página, por lo que pudo solicitar la cookie de Twitter del usuario (que almacena el estado de inicio de sesión del usuario) y el nombre de usuario desde el navegador. El script luego envió esta información de vuelta al servidor web de terceros. Con estos detalles, el servidor web de terceros podría autenticarse como usuario de Twitter, modificar la biografía del usuario para propagar el gusano y enviar tweets desde la cuenta del usuario..

Cómo los desarrolladores pueden prevenir los ataques XSS

Una regla simple permite a los desarrolladores web Cómo saber si alguien es un buen desarrollador web para su proyecto Cómo saber si alguien es un buen desarrollador web para su proyecto Elegir a alguien para construir un sitio web para usted no es una tarea fácil. Incluso si no está creando el próximo Gmail, debería estar haciendo las cosas bien la primera vez. Pero elegir un buen ... para evitar ataques de secuencias de comandos en sitios cruzados: no confíe en ninguna entrada que provenga de los usuarios. Por ejemplo, en el caso de Twitter, no deberían haber confiado en el texto que los usuarios ingresaron en sus cuadros biográficos. Twitter debería haber tomado el texto y “desinfectado” o “escapado” eso - por ejemplo, debe ser cambiado ao