miércoles, 9 de abril de 2014

¿Qué es XSS?

XSS proviene de Cross Site Scripting una tipo de vulnerabilidad informática asociada a una falta de control de los vectores de entrada en un sitio web que permite ejecutar código JavaScript o similar en el lado del cliente.

Esto quiere decir que no es un ataque dirigido al servidor web, el objetivo son los visitantes del sitio, generalmente los usuarios. Las repercusiones de este tipo de ataques perjudican a millones de usuarios llegando a infectar equipos con malware en el peor de los casos, por otra parte hay bastante desinterés por parte de algunas multinacionales por este tipo de vulnerabilidades “considerándolo un problema de los usuarios”.


¿Cómo funciona?
En el momento que aumento el uso de Internet se empezaron a buscar formas de mejorar el servicio y la experiencia de usuario, una de estas aproximaciones es descargar parte de la carga de trabajo de un servidor en el lado del cliente, de esta forma el equipo del usuario utiliza sus propios recursos para realizar ciertas tareas. Estos códigos ejecutados en las maquinas del cliente ahorran trafico de red y tiempos y recursos del servidor, permitiendo una experiencia de navegación mejor. ¿Puedo desactivar JavaScript en mi navegador? La respuesta es sí, pero entonces ciertos elementos de una página web no funcionaran.

 Desactivando JavaScript desde about:config en Firefox

¿Cómo se realiza el ataque?
El error de un parámetro en el control de entradas de un sitio web permite que un atacante modifique esos datos de entrada por otro código que se ejecutara en la máquina de los usuarios.

Ejemplo: En un sitio web al pulsar en un enlace se solicita que nos envié la sección x, un atacante malicioso encuentra que el valor que se envía a esa variable de sección no está filtrado y se puede sustituir por otro, un código que ejecute JavaScript. Al modificar esa url el usuario recibirá la página web del servidor y las instrucciones para ejecutar código en su navegador a nivel local.

Lo complicado para detectar estos ataques es que en el servidor no se modifica nada (generalmente), Entonces ¿Cómo se produce la “introducción de ese código”? La respuesta es mediante campañas de envió masivo de esas url “preparadas” en mails, redes sociales o comentarios en páginas y blogs.

¿Cómo evitarlo?
En general los navegadores tratan de implementar filtros que eviten ejecutar algunos de estos ataques, pero la mejor opción es una política de prevención desde los servidores web, siguiendo pautas de desarrollo seguro y filtrado de entradas en las páginas. Lamentablemente es una carrera permanente en la que se programas filtros y se ingenian nuevas maneras de evadir estos filtros y así sucesivamente.

OWASP


Uno de los documentos más completos e interesantes lo publico Lord Epsylon en…


En este documento están definidas las distintas categorías o variaciones de este ataque con explicaciones y ejemplos para entender su funcionamiento a nivel técnico. 


Seguridad a lo Jabalí para Todos!!

2 comentarios:

Archivo del blog

Consultor e Instructor de Sistemas y Seguridad Informática en Asturias