¿Qué es Cross-Site Scripting y qué tipos se deben considerar?

Es un hack peligroso responsable de más del 80% de las violaciones de seguridad desde 2007. Los ataques de secuencias de comandos entre sitios pueden pasar de ser una molestia a un problema de seguridad importante para las organizaciones que manejan datos confidenciales. Vamos a responder qué es Cross-Site Scripting.

¿Qué es el Cross Site Scripting?

Las secuencias de comandos entre sitios, también conocidas como XSS, se encuentran normalmente en aplicaciones web y son una vulnerabilidad en la seguridad informática. XSS brinda a los atacantes la capacidad de incrustar secuencias de comandos del lado del cliente en páginas en línea que otros usuarios pueden ver.

La inyección de código aprovecha los errores informáticos que surgen de datos no válidos, agregando código malicioso a un sitio web y haciéndolo vulnerable a problemas de seguridad aún más dañinos.

Fondo XSS

¿Cuáles son los principales tipos de XSS? Originalmente, había dos tipos conocidos de XSS – almacenado y reflejado. Luego se formó el tercero y, después de más investigaciones, algunos se mezclaron y ahora se están cruzando. Estos tipos de ataques se crean usando diferentes tácticas, los hacks XSS se aprovechan de estas ocurrencias y luego inyectan los datos maliciosos.

  1. XSS guardados: Estos ataques ocurren cuando la entrada del usuario invitado en el sitio web se agrega al sitio host de destino. Para este tipo de ataque se utilizan foros, bases de datos, registros de visitantes y cuadros de comentarios. Las víctimas pueden recuperar los datos almacenados de las aplicaciones web que no se han convertido en seguros para su visualización en el navegador. El paquete malicioso generalmente puede adjuntar complementos a su computadora, pero este es un ataque inofensivo en comparación con su potencial para destruir datos.
  2. XSS reflejado: cuando la entrada de un usuario se devuelve inmediatamente con un mensaje de error de la aplicación web, un resultado de búsqueda u otra respuesta que incluye la mayor parte o la totalidad de la entrada del usuario como parte de la solicitud, sin que el navegador proporcione esos datos de forma segura. La carga útil del atacante es esencialmente parte de la solicitud y se ve orgánica en la búsqueda. El XSS se envía al usuario y, mediante el uso de correos electrónicos de phishing y otras técnicas de ingeniería, el atacante engañará a las víctimas para que revelen información sobre lo que creen que es un sitio web legítimo.
  3. XSS basado en DOM: Los ataques del modelo de objeto de documento se crean cambiando el «entorno» en los navegadores de la víctima utilizados por el script original del lado del cliente. Del lado del cliente, se ejecuta de forma inesperada, la página en sí no cambia, pero debido a los cambios maliciosos que han ocurrido, la página se ejecuta de manera diferente.

Tipos actuales de secuencias de comandos entre sitios

Solía ​​​​haber algunos tipos diferentes de secuencias de comandos entre sitios, pero las investigaciones de los últimos años han demostrado que la mayoría de ellos se superponen constantemente y no hay una manera fácil de desglosar cómo se orienta un sitio web. Actualmente, los dos tipos se conocen como secuencias de comandos entre servidores y entre clientes.

Servidor XSS

Esto sucede cuando se agregan datos proporcionados por el usuario que no son de confianza a la respuesta HTML generada por el servidor. El origen de los datos puede provenir de una solicitud o una ubicación guardada. Esto significa que XSS puede almacenarse y reflejarse. Con el servidor XSS, toda la vulnerabilidad proviene del lado del servidor y el navegador simplemente muestra la respuesta y aplica cualquier secuencia de comandos incrustada válida.

Cliente XSS

Client XSS se produce cuando se agregan datos proporcionados por el usuario que no son de confianza al DOM con una llamada de JavaScript insegura. El origen de los datos podría provenir del DOM o enviarse desde el servidor (por ejemplo, vista de página). La fuente de los datos podría provenir potencialmente de una solicitud o de una ubicación almacenada en el cliente o servidor. Debido a esto, puede ser un cliente reflejado o un XSS de cliente guardado.

Estas dos nuevas definiciones no ignoran los ataques basados ​​en DOM. DOM XSS es una subsidiaria de un cliente XSS. Los datos provienen del DOM en lugar del servidor.

Consecuencias de los ataques maliciosos

Los ataques XSS pueden tener una variedad de consecuencias, pero en general para JavaScripts se reduce a tres:

  1. Robo de galletas: El atacante puede acceder a las cookies de una víctima a través del sitio web utilizando document.cookie. Luego, el atacante puede enviar información confidencial de las sesiones actuales de la víctima, como ID.
  2. Registro de teclas: El atacante puede agregar un detector de eventos de teclado al servidor de la víctima y luego enviar todas las pulsaciones de teclas de la víctima al servidor atacante. Esto permite al atacante registrar información confidencial, como contraseñas y números de tarjetas de crédito.
  3. phishing: Como se mencionó brevemente anteriormente, el atacante puede usar la manipulación DOM para inyectar un formulario de inicio de sesión falso en la víctima, personalizar los atributos del formulario para apuntar a su propio servidor y luego manipular a la víctima para que envíe información personal.

Defensa contra ataques XSS

Si tiene un sitio web, debe proteger todas las partes de las páginas que reciben datos entrantes. Cada sección debe protegerse contra datos maliciosos que podrían ser código ejecutable. Esto requiere agregar múltiples filtros a su sitio web a lo largo de la ruta de comunicación. Un cortafuegos de aplicaciones web como modseguridad agrega desinfección con el código de procesamiento de entrada del lado del servidor, que a su vez protege los navegadores.

Hay dos formas diferentes para que los desarrolladores web realicen un manejo de entrada seguro:

  • Codificación: Esto evita la entrada del usuario para que el navegador solo lo interprete como datos y no como código, por lo que los atacantes no pueden modificarlo.
  • Validación: Esto filtra la entrada del usuario para que el navegador la interprete como código sin ningún comando malicioso.

Como webmaster, no se espera que sepa todo acerca de la seguridad en línea y la mejor manera de evitar los ataques. Por lo tanto, considere investigar las mejores opciones para usted y sus usuarios. Hay herramientas como XSS Me para Firefox y domsnitch para Chrome para aquellos que quieren probar sus propios sitios web en busca de posibles vulnerabilidades. Si no está seguro acerca de su protección de XSS, hable con un Investigadores de ciberseguridad también puede ayudar a aconsejarle sobre el mejor curso de acción.

Puede ser un truco peligroso en el que participar. Entonces, si tiene un sitio web, vale la pena invertir en protección. Probablemente cuando su visitante se vea afectado por los problemas y descubra que su sitio web es vulnerable y simplemente vaya a otro lugar para satisfacer sus necesidades de navegación.

Si siente que es víctima de un ataque XSS, debe pedirle a un profesional que revise su sistema. Asegúrese de usar a alguien que tenga y tenga experiencia en resolver los problemas Seguro para contratistas de TIesto evita más problemas y, si el problema no se resuelve, tanto usted como el contratista están protegidos contra pérdidas o daños adicionales.

Visita más artículos relacionados:

Deja un comentario