ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Seguridad en aplicaciones AJAX


Enviado por   •  19 de Junio de 2022  •  Documentos de Investigación  •  3.472 Palabras (14 Páginas)  •  164 Visitas

Página 1 de 14

[pic 1][pic 2]

[pic 3]


[pic 4]

Contenido

1.        Introducción a AJAX.        2

2.        Ventajas y desventajas del uso de AJAX.        4

3.        Anatomía de un ataque.        5

1.        Envenenamiento de datos        5

2.        Secuestro o reutilización de sesión.        5

3.        Ejecución de código malicioso        5

4.        Vulnerabilidades AJAX.        6

5.        Protección frente a las vulnerabilidades        8

6.        Common Vulnerabilities and Exposures.        9

7.        Conclusión        9

8.        Bibliografía        10


  1. Introducción a AJAX.

AJAX, cuyo nombre proviene de las tecnologías en los que se basa (Asynchronous JavaScript And XML), es una técnica utilizada en el desarrollo web de aplicaciones.

Para poder ubicarnos, conozcamos un poco su historia:

Google lanzó Gmail al público en 2004, teniendo unas cuantas cosas a su favor. Gmail tenía 1 GB de almacenamiento (cuando la mayoría de los competidores ofrecían 4 MB) y búsqueda efectiva, y lo que es más impresionante, la interfaz de Gmail era ágil y responsiva. La barra de búsqueda se completaba automáticamente a medida que escribías, las conversaciones se organizaban en hilos ampliables y fáciles de leer, y cada vez que hacía clic en un correo electrónico el mensaje se cargaba casi al instante. No había duda al respecto, Gmail estaba en la web pero se sentía como una aplicación de escritorio.

Por otro lado, Google adquirió Where2 Technologies en 2004 (la adquisición de Google llegó justo a tiempo para salvar esta compañía). Durante los últimos años, Lars y Jen Ramussen habían estado trabajando en una aplicación de mapas con una interfaz nueva. La aplicación se basó en el concepto de mosaicos, donde cada mosaico representaba una pequeña parte del mapa y unirlos permitía a los usuarios navegar por el mapa simplemente deslizando el mouse.

La aplicación se creó para el escritorio, pero el cofundador de Google, Larry Page, era un gran admirador de la web. Animó al equipo recién absorbido a recrear su aplicación como un sitio web, y sin darse cuenta de lo que estaba pasando con Gmail, el equipo se dedicó a recrear su tecnología en el navegador. No mucho después de eso, en febrero de 2005, Google Maps entró en versión beta.

Tanto Gmail como Google Maps compartían más que una empresa matriz en común. Sus interfaces eran tanto dinámicas como eficaces y de vanguardia. Ambos hicieron un uso juicioso de JavaScript y esto les permitió conectarse a un servidor de forma asíncrona y extraer nuevos datos sin cargar una nueva página. El tema es que tenían que agradecer a Microsoft por esa característica en particular).

¿Por qué debían este agradecimiento a Microsoft? Comenzando con Internet Explorer 3, Microsoft agregó su propia implementación de Java Virtual Machine al sistema operativo Windows, y específicamente a IE, con el fin de ejecutar applets de Java. Pero casi tan pronto como lo hicieron, Sun demandó a Microsoft por no cumplir completamente con el estándar Java. Microsoft, ya envuelto en una demanda antimonopolio mucho más grande, decidió que simplemente eliminaría Java de su sistema operativo y eso sería todo. Tras esta decisión había solo un problema, para que algunas de las características más avanzadas de su aplicación web de correo electrónico de Outlook funcionaran, habían confiado en algunos de los componentes de Java de Internet Explorer. Entonces, y para llenar este vacío, justo antes del lanzamiento de Internet Explorer 5 en 1999, Microsoft agregó una nueva función de JavaScript al navegador llamada XMLHttpRequest. Esto permitió que el navegador hiciera una solicitud HTTP al servidor y recuperara algunos datos en XML en segundo plano, lo que eso significa es que los datos podrían actualizarse en la página sin una recarga completa, y la verdad cumplió su propósito bastante bien. 

En los siguientes años otros navegadores adoptaron esta nueva funcionalidad, como lo haría Mozilla con una implementación propia en Firefox, aunque el uso más notable fue el del grupo Oddpost, una aplicación web de correo electrónico. Oddpost tomó muchas decisiones de diseño en su aplicación que se han mantenido en las aplicaciones de correo electrónico, como la ventana de tres paneles. Ya en 2002, usaban la función XMLHttpRequest de manera intensiva en su aplicación, sin embargo, el sitio era de pago y no recibió tanta atención hasta que Yahoo lo compró en 2005.

Fue esta misma función la que dio vida a Gmail y Google Maps. Para ambos equipos, HTML no iba a funcionar por sí solo. JavaScript tendría que juntarlo todo.

A Bucheit de Gmail y a los hermanos Rasmussen de Google Maps se les dijo que confiar tanto en JavaScript era un gran error y en realidad había algo de verdad en eso, ya que en ese momento la implementación en los navegadores era irregular y diversa, y a diferencia de la naturaleza indulgente de HTML, si te equivocas en JavaScript, puedes bloquear el navegador.

Aun así, lo lograron. Los usuarios se dieron cuenta. La capacidad de navegar a través de miles de correos electrónicos o desplazarse por un mapa mosaico por mosaico, sin retrasos, fue simplemente incomparable. Ha habido algunos momentos en los que la forma en que el mundo piensa acerca de la web ha cambiado mucho y este era uno de ellos. Ambos servicios despegaron y, en poco tiempo, las técnicas detrás de ellos también lo hicieron.

Finalmente, Jesse James Garett de Adaptive Path le dio un nombre a este uso de Javascript. Lo llamó Javascript asíncrono y XML (elegantemente abreviado como Ajax). Ajax no era un único método o tecnología, sino un grupo de principios basados ​​en el trabajo realizado en Google que describía cómo manejar JavaScript en aplicaciones web más exigentes. 

La versión corta de todo esto es en realidad bastante simple. Se usa XMLHttpRequest para realizar una solicitud al servidor, se toman los datos XML devueltos y se colocan en la página usando JavaScript y HTML semántico.

[pic 5]

  1. Ventajas y desventajas del uso de AJAX.

Una vez que conocemos la historia, y con esta, la composición y uso de la técnica AJAX, pasaremos a listar las principales ventajas que se obtienen con su uso:

  • Emplea tecnologías que ya se usaban, con lo que las habilidades de los programadores que las usaban siguen siendo útiles.
  • En referencia al punto anterior, anima al desarrollo de patrones que ayuden a los desarrolladores a no tener que reinventar la rueda mientras realizan tareas comunes.
  • Aumenta la velocidad de respuesta ya que reduce el tráfico de servidor en ambos lados de la consulta.
  • La validación de formularios web es instantánea y válida.
  • No es necesario volver a cargar la página completa, mejorando así la velocidad y el rendimiento. La obtención de datos y su almacenamiento en datos en la base de datos se realizan en segundo plano sin necesidad de recargar la página.

Aunque supuso una revolución en el paradigma web, no todo en el uso de AJAX son ventajas:

  • El usuario puede perder la capacidad para hacer cosas que hacía con webs tradicionales al no haber un cambio de página web. Por ejemplo, usar los botones de avance y retroceso del navegador o añadir una página a favoritos podría no ser posible según la configuración de la página. Esto en algunos casos no es deseable.
  • El desarrollo de aplicaciones web se puede volver más complejo. Si suponemos que antes teníamos un proceso en el que avanzábamos a través de varias páginas web como 1, 2, 3,…, la organización resulta sencilla. Si condensamos todo en una sola página web: 1, escribir y depurar el código puede volverse más complicado. En sitios complejos, puede ser muy difícil depurar errores.
  • Existen problemas y restricciones de seguridad relacionados con el uso de Ajax. Hay que tener en cuenta que por motivos de seguridad no todos los procesos se pueden realizar del lado del cliente (se trata de un entorno “manipulable”). También existen restricciones de seguridad para impedir la carga de contenidos mediante Ajax desde sitios de terceras partes.
  • La indexación para los motores de búsqueda se dificulta, con lo cual nuestros sitios web pueden perder visibilidad en los buscadores. No es lo mismo un contenido “constante” o aproximadamente estático, fácilmente rastreable para un buscador, que un contenido “cambiante” en función de la ejecución de JavaScript, difícilmente rastreable para un buscador.

  1. Anatomía de un ataque.

Un ataque a una aplicación web basada en AJAX tiene una anatomía concreta y distinta al que se usaría para atacar una aplicación no AJAX.

...

Descargar como (para miembros actualizados)  txt (21.4 Kb)   pdf (204.3 Kb)   docx (50.5 Kb)  
Leer 13 páginas más »
Disponible sólo en Clubensayos.com