Atacando servicios web en el mundo real

Documentos relacionados
SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general

Desarrollo y servicios web

APLICACIONES DE INTERNET: SOAP

Características generales de un servicio Web. Jesús Torres Cejudo

Tema VI. Servicios Web I. Introducción

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Integrando telefonía IP. con una aplicación de. gestión de tiempos

SISTEMAS DISTRIBUIDOS MÓDULO 9. Web Services en Sistemas Distribuidos. Arquitectura Orientada a Servicios

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

Aplicaciones y Servicios Web (Web Services)

Especificación de Uso. Servicios Web Externos API Servicio Licencias Ed. Superior V-0.1

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

Sistema de Gestión de Procesos

Sistemas Operativos Distribuidos

Qué son los Web Services?

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

Web Services Tecnologías asociadas

SEGURIDAD EN APLICACIONES WEB. Autor: Siler Amador Donado

Un nuevo middleware! Acceso directo, no mediante la simulación de un cliente

SISTEMAS DISTRIBUIDOS MÓDULO 9

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

SEGURIDAD Y ALTA DISPONIBILIDAD

Manual de usuario validador externo XML contra XSD

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

Programación páginas web con PHP

Pruebas de Penetración con Zed Attack Proxy

Introducción a Web Services

@ries: Interfaz servicios web Registro Telemático

Características generales de un servicio web

WebServices bajo SOA. SOAagenda team Chile

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Seguridad Web: SQL Injection & XSS

Seguridad Web: SQL Injection & XSS

Introducción a las Aplicaciones Web

Web Services. Richard Rossel 23 de noviembre de Web Services

Servicios Web. Desarrollo de Aplicaciones Empresariales

OWASP Zed Attack Proxy Webinar Gratuito

ESQUEMA DE SEGURIDAD KEPLER 80

Tecnología para la. Web (MVC)

SISTEMA DE NOTIFICACIONES DE LA JUNTA DE ANDALUCIA

Desarrollo de aplicaciones seguras. (Técnicas de ataque y defensa)

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Tema 3.1: Introducción a Servicios Web

Aplicaciones Web. Aplicaciones Distribuidas

Servicios web. Contenido. Programación en Internet Curso Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web

LA WEB SEMANTICA. Natalia Hernández Yuste,

ADMINISTRACIÓN GENERAL DE COMUNICACIONES Y TECNOLOGÍAS DE LA INFORMACIÓN. Manual de Operación

IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNO INTERNET, INTRANET Y EXTRANET

El Modelo de Integración basado en Servicios

ANÁLISIS DE LAS PRINCIPALES VULNERABILIDADES DE UN SISTEMA INFORMÁTICO

Punto 2 Características del Servicio Web. Juan Luis Cano

Arquitecturas Distribuidas. TEMA 3. Tecnologías de la web dinámica

Arquitecturas y Tecnologías para Comercio Electrónico y Servicios Internet.

Características generales de un servicio Web.

Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano

PHP Web Services. Programa de Estudio.

PHP Web Services. Programa de Estudio.

Introducción a XML Tecnólogo en Informática. Ing. Montserrat López -

Introducción. Requerimientos

HL7, CDA, IHE. Seminario de Informática Médica. Lucía Grundel, Set

Encontrar Vulnerabilidades con Zed Attack Proxy

Seguridad aplicaciones (Solución RASP).

Servicio Web de Timbrado

WbS Web Services. Roberto Gómez Cárdenas Web Services

6. RIESGOS POTENCIALES EN LOS SERVICIOS DE RED:

Servicios web. Jorge Iván Meza Martínez

IFCT0509 ADMINISTRACIÓN DE SERIVICIO DE INTERNET

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

Configuración de la Autenticación en IIS

Asignatura: Tecnologías Emergentes 7º Nivel. Docente: Ing. Freddy Melgar Algarañaz

Guía del Usuario de Mesa de Ayuda GLPI

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

AVDA. MANOTERAS, MADRID. Página 1 de 6

Metodología de análisis de procesos de innovación. Ficha técnica. Expte. C

Servicios Web. Alberto Molina Coballes. Rodríguez. 16 de abril de 2012

INGENIERÍA del SOFTWARE Curso 2004/05. Tema 2: Arquitecturas Software de varios niveles en Java. Introducción a los Servicios Web

MANUAL TÉCNICO WEB SERVICE PROTOCOLO SOAP

Desarrollo y servicios web

Antecedentes de Integración

Definición del servicio de presentación de Documentos Electrónicos de Transporte (ETD)

Sistemas de Información

Vulnerabilidades en Aplicaciones Web Webinar Gratuito

Sistema Interinstitucional de Transferencia de Información

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles

Elastix Web Services (WSDL) Manual de Usuario

Ficha Técnica SMS Combinado con Telegram Versión: 1.0

Base de Datos Nacional de Subvenciones

Aplicaciones S.A. Todos los derechos reservados

Tema 1: Patrones Arquitectónicos

WWW URI, HTML, HTTP. La visión. Estático. Sintáctico. Desarrollar al máximo el potencial de la web. Capacidad de Integración.

Servicios Web Requisitos de Cumplimiento de Auditoria Seguridad de la Información

Instalación de un nodo (cliente) - GIA

Desarrollo de Servicios Web para la ETN

Actualización de algoritmo de firma SHA-256

DESARROLLO WEB EN ENTORNO SERVIDOR

Guía de Implementación HL7

Índice INTRODUCCIÓN...11 CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN...13

Definición de Catálogo. Teoría CSW (Catalogue Service Web) Servicios OGC para una IDE con SL. Metadatos: Hidrografía. Alejandra Sánchez Maganto IGN

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 1 FUNDAMENTOS DE PHP

FESB Servicio de Solicitud de Token

Transcripción:

Atacando servicios web en el mundo real OWASP Latam Tour 2017 Luis Quispe Gonzales Abril 2017

Presentación Luis Quispe Gonzales CISA, CPTE, BNS, Sec+, COBIT 5 luis.quispegonzales@gmail.com Ingeniero Informático con más de seis años de experiencia profesional en temas de ciberseguridad, especialmente en servicios relacionados a: hacking de aplicaciones (web, móvil), ethical hacking externo e interno (redes e infraestructura), gestión de vulnerabilidades, revisión de la seguridad de código fuente, revisión seguridad de plataformas (Windows, Linux, AIX, MSSQL, Oracle, Cisco, entre otros), revisiones forenses y consultorías de ciberseguridad.

Agenda Qué son los servicios web? Arquitectura de los servicios web Ataques a servicios web Más por explorar

Qué son los servicios web?

Qué son los servicios web? Descripción general Funciones o métodos que están publicados en un servidor web getbook getprice searchcatalog

Qué son los servicios web? Descripción general Funciones o métodos que están publicados en un servidor web y que pueden ser invocados desde Internet o intranet Red getbook getprice searchcatalog

Qué son los servicios web? Descripción general Funciones o métodos que están publicados en un servidor web y que pueden ser invocados desde Internet o intranet usando mensajería XML Red XML getbook getprice searchcatalog XML

Qué son los servicios web? Descripción general Proveedor de servicios web Funciones o métodos que están publicados en un servidor web y que pueden ser invocados desde Internet o intranet usando mensajería XML basada en estándares como SOAP, WSDL y UDDI. Cliente de servicios web (Ej.: aplicaciones) XML Red XML getbook getprice searchcatalog Estándares SOAP WSDL UDDI

Qué son los servicios web? Entendiendo XML Imagen extraída de la web https://www.w3schools.com/xml/xml_tree.asp

Qué son los servicios web? Entendiendo XML XML es un (meta)lenguaje que permite la organización y etiquetado de documentos. Uso de etiquetas para organizar la información en el documento. Imagen extraída de la web https://www.w3schools.com/xml/xml_tree.asp

Qué son los servicios web? Entendiendo XML XML es un (meta)lenguaje que permite la organización y etiquetado de documentos. Permite almacenar datos de manera jerárquica. Jerarquía de etiquetas Almacenamiento de datos. Imagen extraída de la web https://www.w3schools.com/xml/xml_tree.asp

Qué son los servicios web? Entendiendo XML XML es un (meta)lenguaje que permite la organización y etiquetado de documentos. Permite almacenar datos de manera jerárquica. Cuenta con mecanismos de validación de su estructura (ejemplos: DTD, XML Schema) Faltan algunas etiquetas en el documento XML. Imagen extraída de la web https://www.w3schools.com/xml/xml_tree.asp

Qué son los servicios web? XML Schema Definition (XSD) Imagen extraída de la web https://www.w3schools.com/xml/schema_schema.asp

Qué son los servicios web? XML Schema Definition (XSD) Archivo note.xsd El documento XML hace referencia al archivo note.xsd Imagen extraída de la web https://www.w3schools.com/xml/schema_schema.asp Imagen extraída de la web https://www.w3schools.com/xml/schema_howto.asp

Qué son los servicios web? XML Schema Definition (XSD) Archivo note.xsd Se definen las etiquetas a utilizar en el documento XML, su jerarquía y secuencia. Imagen extraída de la web https://www.w3schools.com/xml/schema_schema.asp Imagen extraída de la web https://www.w3schools.com/xml/schema_howto.asp

Qué son los servicios web? XML Schema Definition (XSD) Archivo note.xsd También se definen los tipos de datos de cada elemento. Imagen extraída de la web https://www.w3schools.com/xml/schema_schema.asp Imagen extraída de la web https://www.w3schools.com/xml/schema_howto.asp

Qué son los servicios web? Entendiendo SOAP Protocolo basado en XML para el intercambio de información entre aplicaciones. Cuenta con un esquema XML (XSD) determinado. Independiente del lenguaje de programación o plataforma. Imagen extraída de la web https://www.w3.org/2003/05/soap-envelope/

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) SOAP Body SOAP Fault

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) Elemento raíz del mensaje SOAP. SOAP Body SOAP Fault

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) SOAP Body Provee información acerca de la autenticación, codificación de los datos, cómo debe ser procesado el mensaje SOAP, etc. SOAP Fault

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) Contiene la información a ser intercambiada entre las aplicaciones. Su formato se basa en la especificación WSDL. SOAP Body SOAP Fault

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) SOAP Body Contiene mensaje con detalles sobre errores en caso se presenten. SOAP Fault

Qué son los servicios web? Estructura del mensaje SOAP SOAP Envelope SOAP Header (opcional) SOAP Body Documento XML correspondiente al mensaje SOAP. SOAP Fault Imagen extraída de la web https://www.w3schools.com/xml/xml_soap.asp

Qué son los servicios web? SOAP HTTP binding La especificación SOAP define la estructura de los mensajes SOAP, no cómo son intercambiados. Cliente de servicios web Mensaje SOAP (petición) Proveedor de servicios web Mensaje SOAP (respuesta)

Qué son los servicios web? SOAP HTTP binding Petición HTTP La especificación SOAP define la estructura de los mensajes SOAP, no cómo son intercambiados. SOAP HTTP binding permite que los mensajes SOAP sean intercambiados usando los protocolos HTTP/HTTPS como medio de transporte. Cliente de servicios web Mensaje SOAP (petición) Respuesta HTTP Mensaje SOAP (respuesta) Proveedor de servicios web Puerto 80 Puerto 443

Qué son los servicios web? SOAP HTTP binding Cabecera de petición HTTP. Ejemplo de petición HTTP con mensaje SOAP Cuerpo de petición HTTP representado mediante un mensaje SOAP. Imagen extraída de la web https://www.w3schools.com/xml/xml_soap.asp

Qué son los servicios web? SOAP HTTP binding Ejemplo de respuesta HTTP con mensaje SOAP Cabecera de respuesta HTTP. Cuerpo de respuesta HTTP representado mediante un mensaje SOAP. Imagen extraída de la web https://www.w3schools.com/xml/xml_soap.asp

Qué son los servicios web? Entendiendo WSDL Documento XML que describe un servicio web. Especifica la ubicación del servicio web y cómo acceder a los métodos de dicho servicio. Cuenta con 5 componentes: types, message, porttype, binding y service. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Documento XML que describe un servicio web. Especifica la ubicación del servicio web y cómo acceder a los métodos de dicho servicio. Cuenta con 5 componentes: types, message, porttype, binding y service. Define los tipos de datos usados por el servicio web. Normalmente se utiliza el XML Schema. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Define la funcionalidad del servicio web: las operaciones disponibles y los mensajes involucrados. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Puede existir más de una operación (método) y en cada una se especifican los mensajes relacionados al input/output. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL El nombre de la variable input, así como su tipo de dato se especifican en un componente message. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Análogamente, el nombre de la variable output, así como su tipo de dato se especifican en otro componente message. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Define principalmente el protocolo de transporte a utilizar y dónde se ubican las operaciones del servicio web. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Referencia al porttype definido anteriormente. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Define cada operación expuesta por el porttype. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL URI que identifica a una operación del servicio web en un binding determinado. Imagen extraída de la web https://www.w3schools.com/xml/xml_wsdl.asp

Qué son los servicios web? Entendiendo WSDL Referencia a un binding definido previamente. Ubicación del servicio web. Imagen extraída de la web http://www.testfire.net/bank/ws.asmx?wsdl

Qué son los servicios web? Entendiendo UDDI Servidor UDDI Servicio de descubrimiento Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web

Qué son los servicios web? Entendiendo UDDI Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (1) Dónde puedo encontrar un servicio del clima? Servidor UDDI Servicio de descubrimiento

Qué son los servicios web? Entendiendo UDDI Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (1) (2) Servidor UDDI Servicio de descubrimiento Hay un servicio del clima en el servidor A.

Qué son los servicios web? Entendiendo UDDI (1) (2) Servidor UDDI Servicio de descubrimiento Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (3) Servidor A Cómo debería invocarte? Servicio web

Qué son los servicios web? Entendiendo UDDI (1) (2) Servidor UDDI Servicio de descubrimiento Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (3) (4) Servidor A Mira esto: WSDL Servicio web

Qué son los servicios web? Entendiendo UDDI Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (1) (2) Petición (3) SOAP: Invocar obtenerinfoclima() con parámetro (4) 2017-04-22. Servidor UDDI Servicio de descubrimiento Servidor A Servicio web (5)

Qué son los servicios web? Entendiendo UDDI (1) (2) Servidor UDDI Servicio de descubrimiento Provee un catálogo de servicios web que están disponibles para las aplicaciones. Cliente de servicios web (3) Respuesta SOAP: (4) Parcialmente nublado con probabilidad de lluvia. Servidor A Servicio web (5) (6)

Qué son los servicios web? Entendiendo UDDI (1) (2) Servidor UDDI Servicio de descubrimiento Provee un catálogo de servicios web que están disponibles para las aplicaciones. Usado normalmente en organizaciones con gran cantidad de proveedores de servicios web. Componente opcional de los servicios web. Cliente de servicios web (3) (4) (5) (6) Servidor A Servicio web

Arquitectura de los servicios web

Arquitectura de los servicios web Descripción general Cliente con navegador Cliente de servicios web HTTP GET/POST Portal web SOAP SOAP SOAP Proveedor de servicio web Proveedor de servicio web ODBC? Base de datos SQL Aplicación de Mainframe

Arquitectura de los servicios web Descripción general Cliente con navegador Cliente de servicios web HTTP GET/POST Portal web SOAP SOAP SOAP Proveedor de servicio web Proveedor de servicio web Normalmente se establecen los controles de seguridad a nivel del portal web. ODBC? Base de datos SQL Aplicación de Mainframe

Arquitectura de los servicios web Descripción general Cliente con navegador Cliente de servicios web HTTP GET/POST Portal web SOAP SOAP SOAP Proveedor de servicio web Proveedor de servicio web ODBC? Base de datos SQL Aplicación de No se establecen Mainframe adecuados controles de seguridad en los servicios web.

Ataques a servicios web

Ataques a servicios web Ataque #1: Divulgación de WSDL Hoy en día, los servicios web son utilizados en escenarios B2B o backend. Deberían ser conocidos solo por un grupo de personas/empleados. Algunos de los servicios web ocultos realizan operaciones muy críticas: pagos, procesamientos de órdenes entre negocios, entre otros. Estos ataques apuntan a descubrir servicios web no públicos recuperando el archivo WSDL. Imagen extraída de la web http://www.ws-attacks.org/wsdl_disclosure

Ataques a servicios web Ataque #1: Divulgación de WSDL - Subtipos WSDL Google Hacking: Búsqueda de archivos WSDL expuestos a Internet mediante algún motor de búsqueda (Google, Bing, Shodan, etc.).

Ataques a servicios web Ataque #1: Divulgación de WSDL - Subtipos WSDL Google Hacking: Búsqueda de archivos WSDL expuestos a Internet mediante motores de búsqueda (Google, Bing, Shodan, etc.). Ejemplo: archivos WSDL en páginas con dominios de Perú en Google: inurl:wsdl site:.pe

Ataques a servicios web Ataque #1: Divulgación de WSDL - Subtipos WSDL Google Hacking: Búsqueda de archivos WSDL expuestos a Internet mediante motores de búsqueda (Google, Bing, Shodan, etc.) Ejemplo: archivos WSDL en páginas con dominios de Perú en Google: inurl:wsdl site:.pe Ejemplo anterior utilizando Shodan: country:pe wsdl

Ataques a servicios web Ataque #1: Divulgación de WSDL - Subtipos Enumeración WSDL: Se asume que el atacante ya ha ganado acceso al archivo WSDL del proveedor de servicio web. A partir de esta información, el atacante puede descubrir métodos que se encontraban ocultos para las aplicaciones.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Aplicación web sobre encuesta de cuota de mercado de los teléfonos inteligentes. Por el contexto de la prueba, se sabe que esta aplicación consume un servicio web.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Se selecciona la opción Android y se envía la encuesta.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado La respuesta del servidor muestra que la aplicación web está programada en PHP. Probablemente, el servicio web que consume también esté programado en PHP.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado El servidor nos responde que la cuota de mercado de los teléfonos Android es 82.8%.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Dirección IP del servidor web.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Directorio desde donde se empieza la búsqueda.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Se utiliza un diccionario para la búsqueda de directorios y archivos.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Se utilizan las extensiones php (servicio web) y wsdl (archivo WSDL).

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Aparentemente, es el archivo correspondiente al servicio web.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Nos muestra un enlace al archivo WSDL.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Archivo WSDL asociado al servicio web.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Se carga el archivo WSDL en la herramienta SoapUI. Muestra que el servicio web posee 4 operaciones y no solo la que era consumida por la aplicación web.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Probamos la operación return_price. Enviamos como input el valor Android. Recibimos como resultado el valor 82.8.

Ataques a servicios web Ataque #1: Prueba en ambiente controlado Probamos la operación owasp_apitop10. Enviamos como input el valor 5. Recibimos como resultado el valor Sensitive Data Exposure (OWASP Top 10).

Ataques a servicios web Ataque #1: Contramedidas La seguridad de los servicios web nunca deberían recaer en el secretismo del archivo WSDL. Deberían establecerse controles de integridad, confidencialidad y de acceso, a fin de asegurar los servicios web. Si las medidas planteadas son usadas correctamente, la divulgación del archivo WSDL no debería representar ningún problema.

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. La entidad es definida con el valor A. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. La entidad es definida con el valor AA. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. La entidad es definida con el valor AAAA. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. La entidad es definida con el valor de 2^32 veces A. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Bomba XML Documento XML pequeño diseñado para expandirse a un tamaño gigantesco cuando es procesado por un parser XML desprotegido. Hace uso de sucesivas llamadas recursivas (permitidas por el DTD) para crecer de manera exponencial. Estos ataques apuntan causar una denegación de servicio en la aplicación web. Cuando el parser XML procesa este documento, el valor 2^32 veces A es cargado en la memoria del servidor web. Imagen extraída de la web https://cwe.mitre.org/data/definitions/776.html

Ataques a servicios web Ataque #2: Prueba en ambiente controlado Aplicación web que procesa XML. Por el contexto de la prueba, se sabe que esta aplicación consume un servicio web.

Ataques a servicios web Ataque #2: Prueba en ambiente controlado La aplicación muestra el uso de memoria por parte del servidor cuando procesa el XML.

Ataques a servicios web Ataque #2: Prueba en ambiente controlado La aplicación muestra el uso de memoria por parte del servidor cuando procesa el XML. Mensaje enviado.

Ataques a servicios web Ataque #2: Prueba en ambiente controlado La aplicación muestra el uso de memoria por parte del servidor cuando procesa el XML. Mensaje enviado.

Ataques a servicios web Ataque #2: Contramedidas Si es posible, utilizar un parser XML sin soporte DTD. De ser necesario el soporte DTD, se deberían procesar las declaraciones de entidades hasta cierto nivel, y dejar de hacerlo en caso de identificar potencial contenido explosivo.

Ataques a servicios web Ataque #3: Inyección XPath XPath es un lenguaje utilizado para consultar ciertas partes del documento XML. En algunos casos, los parámetros dentro del cuerpo del mensaje SOAP son usados directamente como input para la consulta XPath. Un atacante podría modificar la consulta XPath para obtener incluso todo el documento XML. Imagen extraída de la web http://www.ws-attacks.org/xpath_injection

Ataques a servicios web Ataque #3: Prueba en ambiente controlado La aplicación web está utilizando XPath para consultar un documento XML y obtener el número de cuenta del usuario cuyas credenciales son recibidas desde el formulario.

Ataques a servicios web Ataque #3: Prueba en ambiente controlado Mensaje de error cuando XPath procesa adecuadamente la información enviada y responde que las credenciales son inválidas.

Ataques a servicios web Ataque #3: Prueba en ambiente controlado Se hace uso de una comilla para ver cómo responde el servidor. Aparece un mensaje de error que nos muestra que XPath no pude realizar adecuadamente la consulta.

Ataques a servicios web Ataque #3: Prueba en ambiente controlado Se probó la siguiente inyección: User: test OR a = a Password: test Primer intento no funcionó.

Ataques a servicios web Ataque #3: Prueba en ambiente controlado Se probó la siguiente inyección: User: test OR 1=1 -- Password: test Segundo intento no funcionó.

Ataques a servicios web Ataque #3: Prueba en ambiente controlado Se probó la siguiente inyección: User: test OR 1=1 OR a = a Password: test Se obtuvo el número de cuenta del usuario Admin.

Ataques a servicios web Ataque #3: Contramedidas Validar cada input utilizado en la consulta XPath. Escapar el input para hacerlo más seguro de incluir en las consultas XPath construida dinámicamente. Definir una lista blanca de caracteres a utilizar para los input. Dicha lista debería mantener la menor cantidad posible de caracteres especiales.

Ataques a servicios web Otros ataques Ataques a la lógica de negocio. Envenenamiento de esquema de validación Expansión de entidad XML. Redirección de referencia XML flooding Reescritura de XML Y muchos, muchos más ataques en http://www.ws-attacks.org/, guía de pruebas de OWASP, etc.

Más por explorar

Más por explorar Capas de los servicios web Proveedor de servicios web XML getbook getprice searchcatalog Red Estándares Cliente de servicios web (Ej.: aplicaciones) XML SOAP WSDL UDDI

Más por explorar Capas de los servicios web Proveedor de servicios web Capas de servicios web XML getbook getprice Capa de presentación XML Capa de descubrimiento UDDI, WSDL Capa de acceso SOAP Capa de transporte HTTP, HTTPS Cliente de servicios web (Ej.: aplicaciones) XML Red searchcatalog Estándares SOAP WSDL UDDI

Más por explorar Capas de los servicios web Proveedor de servicios web Capas de servicios web XML getbook getprice Capa de presentación XML, AJAX, JSON Capa de descubrimiento UDDI, WSDL Capa de acceso SOAP, REST, WCF Capa de transporte HTTP, HTTPS, JMS Cliente de servicios web (Ej.: aplicaciones) XML Red searchcatalog Estándares SOAP WSDL UDDI

Más por explorar Sección Q&A Preguntas?