Actualizado el 21 de Marzo del 2018 (Publicado el 16 de Febrero del 2018)
818 visualizaciones desde el 16 de Febrero del 2018
2,3 MB
74 paginas
Creado hace 11a (12/07/2012)
Ataques a
aplicaciones web
José María Alonso Cebrián
Antonio Guzmán Sacristán
Pedro Laguna Durán
Alejandro Martín Bailón
PID_00191662
CC-BY-NC-ND • PID_00191662
Ataques a aplicaciones web
Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 España de Creative Commons. Podéis copiarlos, distribuirlos
y transmitirlos públicamente siempre que citéis el autor y la fuente (FUOC. Fundación para la Universitat Oberta de Catalunya),
no hagáis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en http://creativecommons.org/
licenses/by-nc-nd/3.0/es/legalcode.es
CC-BY-NC-ND • PID_00191662
Índice
Ataques a aplicaciones web
1. Ataques de inyección de scripts.....................................................
1.1. Cross site scripting (XSS) ...............................................................
1.1.1. Ataques ...........................................................................
1.1.2. Métodos para introducir XSS (cross site scripting) ...........
1.1.3. Diseccionando un ataque ..............................................
1.1.4.
Filtros XSS ......................................................................
1.2. Cross Site Request Forgery (CSRF) ..............................................
1.3. Clickjacking .................................................................................
2.1.
2.2.
2. Ataques de inyección de código.....................................................
LDAP Injection ............................................................................
2.1.1.
LDAP Injection con ADAM de Microsoft ......................
2.1.2.
LDAP Injection con OpenLDAP ....................................
2.1.3. Conclusiones ..................................................................
2.1.4.
“OR” LDAP Injection .....................................................
2.1.5.
“AND” LDAP Injection ..................................................
Blind LDAP Injection ..................................................................
Blind LDAP Injection en un entorno “AND” ................
2.2.1.
2.2.2.
Reconocimiento de clases de objetos de un árbol
LDAP ..............................................................................
Blind LDAP Injection en un entorno “OR” ...................
Ejemplos Blind LDAP Injection .....................................
2.3. XPath ...........................................................................................
2.3.1. XPath injection y Blind XPath Injection ......................
2.3.2.
¿Cómo protegerse de técnicas de XPath Injection? .......
2.2.3.
2.2.4.
3. Ataques de Path Transversal..........................................................
Path Disclosure ............................................................................
3.1.
4. Ataques de inyección de ficheros..................................................
Remote file inclusion......................................................................
4.1.
Local file inclusion.........................................................................
4.2.
4.3. Webtrojans ...................................................................................
5. Google Hacking..................................................................................
6. Seguridad por ocultación................................................................
6.1. Descompiladores de applets web .................................................
Flash ...............................................................................
Java .................................................................................
.NET ................................................................................
6.1.1.
6.1.2.
6.1.3.
5
7
9
10
12
17
19
21
26
28
28
31
33
34
36
39
40
40
42
43
48
48
53
54
54
56
56
57
59
61
64
67
67
69
70
CC-BY-NC-ND • PID_00191662
Ataques a aplicaciones web
Bibliografía.................................................................................................
73
CC-BY-NC-ND • PID_00191662
5
Ataques a aplicaciones web
1. Ataques de inyección de scripts
Bajo la denominación de inyección de scripts se agrupan distintas técnicas que
comparten el mismo sistema de explotación pero que persiguen distinto fin.
El hecho de separarlas en distintas categorías atiende únicamente a facilitar la
fijación de los objetivos perseguidos.
Un ataque por inyección de código se plantea como objetivo lograr in-
yectar en el contexto de un dominio un código Javascript, VBScript o
simplemente HTML, con la finalidad de engañar al usuario o realizar
una acción no deseada suplantándole.
Un concepto que debe quedar muy claro es que en este tipo de ataque el afec-
tado no es directamente el servidor, como podría ser en el caso de un ataque
de SQL Injection, sino que el objetivo directo es el usuario. Posteriormente,
si el ataque es exitoso y mediante suplantación de personalidad, se podrán
ejecutar las acciones deseadas en el servidor afectado y al que pueda accederse
desde una página web.
Esto ha implicado que los fallos de inyección de scripts no sean considerados
como amenazas críticas en algunos sectores de la seguridad informática, de-
clarando incluso que errores de este tipo no podrían llegar a comprometer la
seguridad de un sitio web. Como se demostrará a lo largo de este apartado, la
inyección de scripts puede llegar a ser tan peligrosa como cualquier otra técni-
ca si se sabe cuál es su límite y cuál es su potencial.
Se exponen a continuación casos reales relacionados con XSS ( cross site scrip-
ting) en los que la seguridad de algún sitio web ha quedado comprometida. A
pesar del escepticismo de algunos, XSS puede permitir la obtención de privile-
gios sobre algún sistema lo suficientemente débil como para permitir insertar
código Javascript.
CC-BY-NC-ND • PID_00191662
6
Ataques a aplicaciones web
Zone-H
El primero de los casos es el de Zone-H, página dedicada a mantener un registro de
los sitios atacados a los que se les ha modificado la apariencia de la página principal,
lo que en argot se denomina “defaceados”. Este sitio registra también los autores
identificados de las acciones maliciosas. Resulta irónico que fuesen ellos mismos los
atacados.
El método usado por los atacantes fue el de enviar a uno de los administradores
del sitio un correo electrónico a su cuenta de Hotmail, donde recientemente habían
localizado un fallo de XSS. Explotando el error lograron robar su cookie de sesión
y con ella pudieron visitar el sitio web de Zone-H. Una vez aquí, solicitaron una
recuperación de la contraseña que, evidentemente, se les envió al correo electrónico
que habían secuestrado previamente. Con esta cuenta de administrador del sitio no
les quedó más que publicar una noticia que incluía código HTML, especialmente
escrito para colocar sobre el resto de la página el contenido que ellos deseaban.
Samy Worm y MySpace
El segundo caso real, utilizado como ejemplo, donde el XSS logró comprometer la
seguridad de un sitio, fue el protagonizado por Samy Worm y MySpace. Samy es un
chico de Estados Unidos que detectó una vulnerabilidad de XSS en el famoso portal
de MySpace. Para explotar este fallo y aprovechando sus dotes de programación Ja-
vascript, Samy creó un gusano informático que luego se conocería como Samy Worm.
Un gusano informático es un programa que se replica entre sistemas afectados por la
misma vulnerabilidad. En un entorno web, un gusano sería un código Javascript que
se replica entre los perfiles de los usuarios del sitio. Y eso fue lo que hizo Samy con
su gusano, replicarlo en más de un millón de perfiles de MySpace.
El gusano no era especialmente maligno. Únicamente efectuaba tres acciones: se re-
plicaba como cualquier gusano, añadía al usuario de Samy como amigo de la persona
infectada e incluía la frase “but most of all Samy is my hero” en el apartado de héroes
personales de cada perfil.
En menos de 24 horas actuando llegó a bloquear el sistema de MySpace y los admi-
nistradores de la red tuvieron que detener el servicio mientras limpiaban los perfiles
de los usuarios infectados. A Samy le detuvieron y le condenaron a pagar una multa
económica, a realizar un mes de tareas para la comunidad y a un año de inhabilita-
ción para trabajar con ordenadores.
CC-BY-NC-ND • PID_00191662
7
Ataques a aplicaciones web
Figura 1. Búsqueda que devolvía más de 3.000 páginas con el
texto “samy is my hero”.
Estos dos casos reflejan perfectamente lo crítica que puede llegar a ser una
vulnerabilidad XSS y el resto de sus variantes para la seguridad de un sitio web,
a pesar de la opinión de aquellos que no las consideran como tal.
Hacker Safe
En el último de los casos presentado e ilustrativo de esta polémica aparece la com-
pañía Hacker Safe, dedicada a comercializar soluciones de seguridad. Esta iniciativa
promete, tras el pago de cierta cantidad monetaria, revisar diariamente la seguridad
de un sitio web mediante el uso de herramientas automatizadas. Además permite in-
cluir una pequeña imagen con el texto: “100% Hacker Safe” en el sitio, con el objeto
de inspirar confianza a los usuarios.
Tras descubrirse y hacerse público que algunas de las páginas “100% Hacker Safe”
presentaban vulnerabilidades de tipo XSS, algunos de los máximos responsables de
la compañía llegaron a afirmar que los fallos de XSS no eran críticos y que nunca se
habían llegado a utilizar para comprometer totalmente la seguridad de un sitio. Como
se ha podido observar en los casos anteriores y se podrá corroborar en las páginas
siguientes, esta afirmación es cuanto menos, ignorante.
1.1. Cross site scripting (XSS)
El cross site scripting es la base de todas las demás técnicas que se van a ir ana-
lizando en este módulo, así que es fundamental entender corre
Comentarios de: Ataques a aplicaciones web (0)
No hay comentarios