Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA AJAX
AJAX, Asynchronous JavaScript And XML, es una técnica en desarrollo en la que se
combinan diferentes tecnologías, con el objetivo de diseñar aplicaciones web más
agiles, rápidas e intuitivas para el usuario final, RIA (Rich Internet Application):
• Interfaces intuitivos
• Sistemas sencillos
• Comunicación de cambios al usuario
El objetivo es crear una comunicación asíncrona que actualice tan solo la parte de la
pagina que es necesario cada vez y no por completo.
Entre las tecnologías que mas destacan en el uso de AJAX tenemos:
✓ XHTML y CSS (Cascading Style Sheets) para presentaciones.
✓ Document Object Model (DOM) para datos dinámicos,
✓ XML y XSLT( Extensible Stylesheet Language Transformations) para
intercambio de datos.
✓ Microsoft’s XMLHttpRequest para transmisiones asíncronas cliente/servidor.
✓ JavaScript para ejecutar comandos en la máquina del cliente.
© Universidad Internacional de La Rioja (UNIR)
Actividades 1
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
Lo que hace esta política es que bloquea el acceso a recursos con otros orígenes, por
lo que la regla principal es que un documento puede acceder, por javascript. a otro
documente si ambos tienen el mismo origen.
✓ CSS: Se puede traer un archivo CSS de otro origen usando el elemento <link>
o importando directamente en un archivo CSS.
✓ Images: Incrustar imágenes de otros orígenes está totalmente permitido,
salvo en el uso de canvas.
✓ Scripts: También se permite cargar archivos Javascript de otros orígenes.
Salvo el hacer una petición HTTP mediante fetch() o XMLHttpRequest() a
otro origen. Se seguirán bloqueando este tipo de cosas.
✓ Forms: Se pueden usar URLs de otro origen en el atributo action de un form.
✓ Multimedia : Al igual que las imágenes, cualquier contenido ya sea video o
© Universidad Internacional de La Rioja (UNIR)
audio puede ser traídos con sus respectivos elementos, <audio> y <video>.
Actividades 2
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
VULNERABILIDADES:
JSONi XMLi
JSONi es una vulnerabilidad que permite que un usuario malintencionado inyecte
datos maliciosos en flujos JSON o use flujos JSON maliciosos para modificar el
comportamiento de la aplicación. Hay dos tipos de inyecciones JSON, del lado del
servidor y del lado del cliente:
✓ La inyección JSON del lado del servidor ocurre cuando el servidor no valida
los datos y se escriben directamente en una respuesta JSON.
✓ La inyección JSON del lado del cliente ocurre cuando se envían datos de una
fuente JSON que no es de confianza o se validan mediante la función de eval()
de JavaScript.
XMLi es una vulnerabilidad que surge cuando la entrada del usuario se inserta en un
documento XML del lado del servidor de forma no segura.
Este tipo de vulnerabilidad puede ser difícil de detectar y explotar de forma remota,
debe revisar la respuesta de la aplicación y el propósito que cumple la entrada
relevante dentro de la funcionalidad de la aplicación, para determinar si es realmente
vulnerable.
XSS DOM
© Universidad Internacional de La Rioja (UNIR)
XSS se puede usar en AJAX para manipular los datos del usuario si las aplicaciones
web se implementan sin validar los flujos de datos de entrada y salida que maneja la
aplicación web. XSS se puede usar fácilmente para secuestrar sesiones o identidades
de usuarios.
Actividades 3
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
Todas las formas de XSS, como XSS almacenado, reflejado y basado en DOM, también
se pueden explotar en aplicaciones web basadas en AJAX. Los desarrolladores deben
asegurarse de codificar los datos antes de presentarlos para proteger la aplicación de
posibles ataques.
JSONP
Jsonp es una forma de conseguir algo parecido a ajax cross-domain. Ajax, por motivos
de seguridad nunca ha incluido la posibilidad de lanzar peticiones fuera del dominio
cargado lo cual lo invalida como tecnología para usar servicios web de terceros.
Con jsonp esto es posible puesto que lo que hacemos realmente no es una llamada
ajax sino una carga de un script js completo que lo que hace es lanzar una función que
definimos en la llamada y que actúa como callback.
Jquery contiene entre sus funciones Ajax desde hace tiempo la opción usar jsonp
como forma de cargar contenido. El problema, por el cual esto pasa desapercibido, es
que se incluye en su funcion getJSON y al no ser exactamente lo mismo un json que
un jsonp esto lleva a confusiones.
Para hacer una llamada jsonp usando jquery tenemos que usar la función getJSON
indicando al final la variable que va a definir el nombre de la función a ejecutar como
callback con un "?". Si hacemos esto el resto de opciones las manejamos como en una
llamada ajax de jquery cualquiera.
Esto hace realmente sencillo el manejo de ajax cross-domain con jsonp ya que ni
© Universidad Internacional de La Rioja (UNIR)
Actividades 4
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
AJAX BRIDGING
Como su propio nombre indica es un puente entre peticiones script, donde desde la
salida del cliente al destino se intercepta la petición, y haciendo uso de las
credenciales del primero se pueden realizar otras peticiones al destino.
DEFENSAS
CORS
CORS (Cross-Origin Resource Sharing) es un mecanismo o política de seguridad que
permite controlar las peticiones HTTP asíncronas que se pueden realizar desde un
navegador a un servidor con un dominio diferente de la página cargada originalmente
© Universidad Internacional de La Rioja (UNIR)
Actividades 5
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
Si el framework web que usamos no proporciona facilidades para evitar ataques XSS
al emitir contenido en el resultado en Java se puede usar la librería OWASP Java
Encoder Project siendo su uso el siguiente. OWASP Java Encoder Project es una
librería que no tiene dependencias adicionales por lo que es sencillo incorporarla en
la aplicación.
Actividades 6
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
Se deben agregar controles de seguridad adecuados para proteger los datos mientras
están en reposo dentro de la aplicación o dentro de los almacenes de datos.
Recomendaciones
Alguna recomendación en el desarrollo de aplicaciones AJAX puede ser:
Actividades 7
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Cano Bejar
16/01/2023
aplicaciones y el big data Nombre: Miguel Angel
Bibliografía
3. Codificar los datos para evitar ataques XSS en una página web [Internet]. Blog
Bitix. 2019 [citado el 16 de enero de 2023]. Disponible en:
https://picodotdev.github.io/blog-bitix/2019/03/codificar-los-datos-para-evitar-
ataques-xss-en-una-pagina-web/
Actividades 8