XSS - Cross-Site-Scripting I

El Cross-Site-Scripting, conocido también como XSS por sus siglas en ingles, es una vulnerabilidad que muchos desarrolladores dejan pasar por alto, quizás por falta de un planeamiento de análisis de riesgos en el proceso de diseño, desarrollo e implementación de sus aplicativos, o simplemente no lo vean como una falla que les va a presentar problemas en su aplicación, incluso por desconocimiento de esta vulnerabilidad.



Sea cual sea el motivo por el cual no se ejecuten medidas de prevención con respecto a esta vulnerabilidad, es necesario saber, que es un tipo de ataque que se extiende cada día mas, hoy en día es muy común encontrar sitios y usuarios afectados por este tipo de agresión.


Para ejecutar este tipo de ataque no es necesario ser un gurú en el campo de la programación, ni desarrollar o utilizar herramientas complejas, basta nada más con manejar un poco de las etiquetas de HTML y algún lenguaje de Scripting, es suficiente para utilizar el cross-site-scripting en sitios que no están protegidos contra este tipo de ataque.


Ahora bien, la forma de Proteccion también son métodos básicos y de fácil implementación, que no conllevan ninguna tarea complicada que signifique un retrazo significativo en el tiempo de desarrollo de la aplicación, ni un quebradero de cabeza para implementar en sitios ya desarrollados, ya que dicha solución consiste en implantar un sistema de validación en los campos de entrada de datos, además de tener claro que no podemos fiarnos de datos que vengan de nuestras propias bases de datos cuando estos datos pueden ser insertados o modificados por el usuario.


La clave primordial en el campo de la seguridad es no confiar en la entrada de datos de ningún usuario, ya que en algún momento estas entradas se puede convertir en una inserción de código malicioso, es por ello que la aplicación debe de validar cada uno de los campos en donde el usuario pueda o le sea requerido el ingreso de datos y dejar de lado la política de confianza al usuario.


Ahora nos enfocaremos en una breve definición del Cross-Site-Scripting, sus formas de uso, las maneras mas frecuentes de ataque y como prevenirlos.


Definición de Cross-Site-Scripting


El Cross-Site-Scripting es una vulnerabilidad que aprovecha la falta de mecanismos de filtrado en los campos de entrada y permiten el ingreso y envió de datos sin validación alguna, aceptando el envió de scripts completos, pudiendo generar secuencias de comandos maliciosas que impacten directamente en el sitio o en el equipo de un usuario.


¿A quien Afecta?


El Cross-Site-Scripting es una vulnerabilidad que puede causar un impacto tanto a una aplicación web como a usuarios que de manera inconsciente activen dicha secuencia de comandos.


Dicho código malicioso se compone de cadenas de datos cuyo contenido son scripts completos contenidos en enlaces o ejecutados desde formularios.


En caso de que sea ejecutado el mismo se ejecutara en el equipo del usuario con todos los privilegios permitidos por las políticas de seguridad configuradas en el navegador del usuario o del sitio visitado, pudiendo realizar acciones diversas como la captura de cookies de usuario o la activación de servicios y componentes del sistema operativo del usuario victima.


La mayor problemática es que estas cadenas de código se encuentran ocultas a la sombra de vínculos en donde el usuario normalmente no hace una vista del código de dicho enlace y lo ejecuta con una política de confianza total, dicha ejecución se realiza de una manera indirecta, ya sea por una activación vía hipervínculo o por la ejecución al momento de la carga de un sitio afectado por este tipo de ataque, el atacante no realiza su acción pensando en un usuario en especifico si no que actúa de manera de que afectan a cualquier usuario que inocentemente caiga en dicha trampa, las formas mas comunes de realizar dicha agresión es por medio de correos electrónicos, vínculos falsos o ataques directos a sitios no preparados para este tipo de ataque.


No hay comentarios:

Publicar un comentario