Inyección SQL : Manual básico

Inyección SQL : Manual básico

David García Martín

Conocimientos previos:

Saber nociones básicas sobre SQL.

Definicion de SQL Injection: El sql injection es un tipo de ataque a una base de datos en el cual, por la mala filtración de las variables se puede inyectar un código creado por el atacante al propio código fuente de la base de datos.

Listado de comandos básicos en SQL:

Grant Utilizado para otorgar privilegios
Revoke Utilizado para eliminar privilegios
Create Utilizado para crear nuevos elementos(tablas,idices…)
Drop Utilizado para eliminar elementos
Alter Utilizado para alterar campos de las tablas
Select Utilizado para consultar registros de una tabla y comprobar que satisfagan una condición determinada
Insert Utilizado para cargar lotes de datos en la base de datos
Update Utilizado para cambiar valores de registros y campos
Delete Elimina registros de una tabla de la base de datos

Lista de clausulas básicas en SQL:

From Selecciona la tabla sobre la cual se va a operar (o sobre sus registros)
Where Especifica las condiciones que se deben cumplir los registros que se seleccionan
Group by Utilizado para separa registros en grupos
Having Especifica las condiciones que cumple cada grupo
Order by Ordena registros selecionados

Instalación del programa

El programa viene configurado y preparado para funcionar sin ningún tipo de instalación previa. Sólo se debe copiar todo el programa (ejecutable y asociados) y la base de datos en la misma carpeta, sea cual sea, manteniendo el nombre de la base de datos intacto.
Ejecutar insertarHorariosTrabajadores.exe y se verá el programa de inicio.

Descargar programa Inyección SQL

Introducción

Antes de nada aclarar la razón de por qué estos ataques son tan peligrosos: pueden no solo sacar información de la base de datos (usuarios, contraseñas, etc), sino también pueden borrar la base de datos, dejarla inservible o aplicarse a ataques DDOS entre otros.

Introducción al método error y comprobación de la vulnerabilidad del servidor

Previo paso al comienzo del manual, que quede claro que esta información es puramente informativa y va enfocada al conocimiento y preparación del desarrollador para evitar errores, nunca a la realización de prácticas ilegales.
Bien, empecemos a analizar la vulnerabilidad de nuestro objetivo, en cuanto a ataques SQL.

Base de datos para probar SQL Injection:

http://www.redeszone.net/app/uploads/cdn/down/soft/seginf/sql_inyeccion/inyeccion%20sql.rar

Comencemos: lo primero que necesitamos es buscar algún indicio de que la web o el programa es vulnerable. Enfoquemos este apartado a sitios web.

SQL Injection a páginas web.

Imaginad que estáis diseñando una página web, es muy bonita, al cliente le gusta, se pone en marcha y a los 5 minutos es hackeada por algún indeseable que ha borrado la base de datos, sería un desastre. Es de recibo que, actualmente, los diseñadores de páginas deben tener en mente un poco de seguridad informática para que su página no resulte vulnerable, al menos en los casos típicos. Es lo que se pretende con este manual: que el diseñador tenga nociones de seguridad típicas.
Veamos primero si la web en cuestión tiene este tipo de sentencias en su url: «celebraciones.asp?ID=», «libros.php?view=», o cualquier otro tipo parecido. En muchas ocasiones, introduciendo ahí nuestro código inyectado empieza el ataque , pero esto lo explicaremos más adelante.
Nota1: no siempre que tenga este tipo de sentencias es vulnerable
Nota2: si ves ASP,ASPX,etc , piensa en que en un elevado tanto por ciento de los casos, la base de datos será SQL.
Nota3: Para comenzar el ataque, también podemos buscar formularios ligados a una consulta a una base de datos SQL.
Si , con SQL injection podemos “saltarnos” algunos logueos pero el SQL Injection es mucho mas, como se explicó al comienzo: podemos borrar una base de datos, cambiarle el nombre a las tablas o hacer mil maldades. Imaginad por ejemplo una página de venta de teléfonos móviles, podemos hacer que la persona que se nos ocurra de la BD compre 1000 teléfonos, por ejemplo.

2. Ataque blind SQL Injection.

El BLIND SQL Injection se considera un ataque a ciegas, es decir, sin conocer nada sobre el server (Versión de SQL, nombre de las tablas, numero de tablas, etc, que deberemos saber para concluir el ataque y para saber defendernos.)

2.1-. Sacando el número de columnas de la BD

Bien para sacar el numero de columnas de la base de datas (BD,DB), vamos a inyectar un código que cause un conflicto al llegar a un numero de columna, el cual no se encuentra en la base de datos .
Bien para esto vamos a utilizar la clausula order by. Este tipo de ataque se basa en ordenar columnas hasta llegar a la ultima. Así al poner la siguiente, al no existir , nos devolverá un error tipo:
Unknown column ‘numerodecolumna’ in ‘order clause’
El error puede sufrir variaciones pero lo que nos interesa es que nos devuelva el unknown column y el número que es lo que nos indica que columna es la que no está definida(no existe).
Este no es el único método para sacar el numero de columnas (si el que me parece más fácil), pero hay varios si no les funciona con unos, estudien un poco de SQL y piensen como hacerlo es simple fíjense de este método y sabrán como sacar errores con otras clausulas.
Pongo un ejemplo sencillo, para que se vea una parábola de lo anteriormente dicho.

2.2.- Sacando el nombre de la tabla.

Imaginad una web con este tipo de enlace:

http://www.soyunaweb.com/soyunapagina.extension?id_pregunta=2

Es muy común encontrar este tipo de enlaces en casi cualquier web y también es muy común pensar que detrás de este enlace, existe una sentencia SQL que determina que mostraremos o el contenido de dicha página, por ejemplo.
El formato de la sentencia SQL que podría estar detrás de ese enlace sería algo parecido a esto:

“SELECT * FROM pregunta WHERE id_pregunta=” + parámetro

Viendo el enlace, es lógico presuponer que la tabla se llame pregunta y el campo id_pregunta. Este podría ser un fallo de seguridad . Al diseñar Webs con ese tipo de enlaces, debemos intentar asegurarnos de que el nombre del parámetro no sea tan explicativo. Simplemente con haber puesto id_p se soluciona el problema, por ejemplo, acabándose así nuestro ataque de Blind SQL Injection. (Salvo utilizar la fuerza bruta, por supuesto).
Hemos pensado que la sentencia SQL podría ser válida, pero no sabemos a ciencia si lo es, tendremos que comprobarlo (podría ser también un simple código escrito dentro de la página).
Para comprobarlo, podemos hacer lo siguiente, poner una condición que nos devuelva siempre cierto, a ver si lo que evalúa la condición es un pedazo de código o una sentencia SQL. Se nos ocurre probar con algo como esta sentencia:

SELECT * FROM pregunta WHERE id_pregunta=2 AND 1=1

Que traducido a un enlace:

http://www.soyunaweb.com/ soyunapagina.extension?id_pregunta=2 and 1=1

Si por defecto aparece la pagina de la pregunta 2, bingo, hemos acertado, es una sentencia SQL. (En realidad podría ser un switch por ejemplo, pero supondremos que se trata de una sentencia SQL sin mas preámbulos).

A partir de aquí, tendríamos que demorarnos en conseguir mas información (nombre de las tablas, por ejemplo). Yo aconsejo atacar a los servidores mas comunes, Access o SQL Server, por ejemplo, con sus tablas de sistema. Lo que nos indica otro fallo importante de seguridad: al diseñar, debemos prohibir la lectura a este tipo de tablas. Al intentar atacar, el atacante verá que o bien no existen o bien no tiene permiso para leerlas y esa vía queda descartada.

Inyección SQL en aplicaciones de Escritorio.

Imaginemos el siguiente escenario: tenemos una red local, con una aplicación que accede a diferentes sitios de una intranet o de archivos de configuración de un servidor o cualquier otra tarea que se requiera.
Supongamos que detrás de esa aplicación hay una base de datos de Access, que controla todo el proceso de la identificación del usuario sirviendo de apoyo a una aplicación construida con Visual Studio 2008, en Visual Basic.
Este será nuestro escenario de ataque. Para este manual se ha construido un programa de ejemplo con un acceso por usuario y contraseña que constituye nuestra herramienta para el aprendizaje. La base de datos sobre la que se sustenta la aplicación está creada en Access XP, una herramienta común en el mundo de las Pymes.
La inyección de SQL de una Web con un servidor SQL Server es ligeramente distinta a la de un programa de escritorio con base de datos Access, pero, en esencia, no difiere demasiado.
El carácter que permite inyectar SQL es la comilla simple. Este carácter es interpretado por SQL como el inicio de una instrucción y podemos concatenar nuestras instrucciones si lo hacemos con habilidad.

Imaginad que somos un usuario malicioso que ha quedado muy descontento con el gerente de la empresa TodoAdsl porque no le ha dado un día de asuntos propios para ver el Madrid-Barça (por ejemplo). En el trabajo, tenemos un programa que funciona para insertar el Horario de los Trabajadores, las tareas que han realizado al cabo del día y en qué franja del día. Se nos ocurre, que, si podemos saltarnos la contraseña, podemos hacer grandes destrozos en la empresa.
Vamos a trabajar, encendemos el ordenador y arrancamos el programa.
Tenemos esto:

SQL inyeccion

Un simple formulario de entrada con un usuario y una contraseña, con la imagen de la persona elegida en el combobox de nombre de usuario a la derecha. (Se ha dejado el control pero se han omitido las imágenes, para que la BD no pese mas de lo necesario para el manual).
Lo primero que se nos ocurre es poner un usuario y una contraseña al azar para saber que ocurre.
Ponemos de contraseña la palabra “contraseña” y como usuario el que aparece en la imagen:

SQL inyeccion

Al pulsar sobre el botón “Entrar” , aparece una ventana que se ha creado específicamente para que veais la sentencia SQL que el programa tiene detrás para controlar el acceso.

SQL inyeccion

Obviamente, esta ventana no se muestra en ningún programa que precise de usuario y contraseña, sería un error de seguridad imperdonable, se muestra aquí para facilitar la comprensión del manual.
Como podéis ver, la sentencia SQL es muy sencilla.
Tenemos una tabla “TRABAJADOR”, un campo “clave personal” que sería el campo donde se almacena la clave y un campo “TRABAJADOR” que sería el usuario. En este caso, el nombre de la tabla y el nombre del campo coinciden, pero no es lo habitual.
Lo primero que debemos probar es a poner entradas extrañas, como el usuario vacío o la contraseña vacía, a ver que ocurre. Probamos y nos sale la siguiente ventana:

SQL inyeccion

En este caso, hemos errado: el programador ha sido lo suficientemente inteligente como para capar esos casos extraños y no dejar posibilidad al error.
La siguiente treta será intentar la Inyección de SQL. (Ya era hora).
Ahora necesitamos saber como inyectar SQL en una base de datos Access. Los motores de SQL tienen un carácter de escape que sirve para delimitar qué es sentencia SQL de qué no lo es.
En este caso, tenemos ya que la sentencia SQL que realiza la consulta el del tipo:
«SELECT * FROM TRABAJADOR WHERE [clave personal]='» & pass & «‘ AND TRABAJADOR='» & usuario & «‘»
Ahora hemos de pararnos a pensar durante un minuto. ¿Cómo podemos insertar código SQL en la sentencia de forma que podamos burlar el logueo?.
Podemos probar con lo mas sencillo que se nos ocurre: introducir una condición lógica que siempre sea verdadera. O sea: ‘1=1
Probamos esa sentencia en la contraseña, con cualquier usuario de la base de datos y tenemos esto:

SQL inyeccion

De nuevo, nuestra suposición era equivocada, no puede ser algo tan simple como eso, pero nos ha dejado una idea de cómo sacar la sentencia SQL en un caso normal (en el caso que nos ocupa, el programa, muy amablemente, se encarga de hacerlo por nosotros, pero repetimos que eso no sucede nunca.
Si podemos introducir valores que den como resultado una sentencia SQL equivocada, entonces podríamos saber la consulta que se realiza. ¿Cuál ha sido el error del programador en este caso?. Simplemente, no filtrar la entrada. Si tan sólo hubiera aplicado un filtro para no permitir caracteres extraños, el error nunca sucedería, y el malintencionado usuario (nosotros en este caso) se queda con un palmo de narices.
No desesperemos. Probemos con otra cosa. La sentencia SQL que ejecuta la consulta es de este modo:

SELECT * FROM TRABAJADOR WHERE [clave personal]='» & pass & «‘ AND TRABAJADOR='» & usuario & «‘»

¿Y si probamos a introducir una sentencia lógica siempre a cierto en el campo trabajador?.
Probamos con esto:
Pepe ‘ OR ‘a’=’a en el campo trabajador y esto otro, contraseña en el campo contraseña. Esperanzados vamos a pulsar el botón de entrar y nos muestra esta ventana:

SQL inyeccion

Observamos la consulta y ya vemos que no funcionará: el programador ha filtrado los contenidos del campo usuario para permitir tan sólo los usuarios que el programador eligió en el combobox.
Pulsamos Aceptar y nos encontramos con la ventana siguiente:

SQL inyeccion

De nuevo hemos fracasado. Nos ponemos a pensar y se nos ocurre otra estrategia: probar a introducir una sentencia lógica que de cierto sólo con que uno de los valores sea cierto.
Sería algo así:

SELECT * FROM TRABAJADOR WHERE [clave personal]= ‘loqueseteocurra’ OR ‘a’=’a’ AND TRABAJADOR='» & usuario & «‘»

¿Qué realiza esta sentencia?. Compara el valor de la clave con Or a=a y realiza un AND con el trabajador. ¿Qué va a ocurrir?. ¡Pues que OR a=a siempre devuelve cierto, sea cual sea el valor de la contraseña puesta!, realizando un AND con el trabajador (que en este caso sirve cualquiera que pongamos y que el programador haya permitido).
Nos vamos al programa y ponemos las siguientes valores:
En contraseña: loqueseteocurra’ OR ‘a’=’a
En usuario: cualquiera que el combobox tenga almacenado.
Pulsamos en entrar y tenemos esto como salida:

SQL inyeccion

Bingo. Hemos dado con la sentencia correcta, el programa nos ha permitido insertarla y ahora, con todo el placer de nuestras malévolas mentes pulsamos en aceptar. Efectivamente, nos muestra la ventana de insertar el horario del trabajador. Hemos logrado ingresar con un usuario cualquiera sin conocer la contraseña.

SQL inyeccion

Y ya estaríamos dentro del programa, podríamos hacer lo que nos apeteciera con ese usuario, desde insertar horarios falsos, a números de expedientes falsos, etc, etc..
El programa ya no realizará mas acciones, los botones insertar y sacar horario no hacen nada.

Conclusiones

Se puede abstraer lo visto en el manual para intentar otro tipo de sentencias que provoquen un daño irreparable a la base de datos. Por ejemplo, podríamos intentar realizar un drop table y borrar una tabla o eliminar la base de datos. Como se explicó antes, este tipo de problemas son muy peligrosos y vale mas prevenirlos cuanto antes.
Lo mas sensato que debemos tener en cuenta al prevenir estos ataques es filtrar el carácter ‘ (comilla simple), si hablamos a nivel de web, hacerlo siempre en cliente y servidor, si hablamos en un entorno de red local, filtrar la entrada del campo en el programa.
A nivel de web, si sólo se filtra en el cliente, es fácil saltarse la validación y provocar un fallo del estilo de los que hemos visto, para extraer información, de ahí la necesidad de hacerlo en el cliente.

Para seguir avanzando en el tema os recomiendo la lectura de dos documentos que son de obligada lectura para el que esté aprendiendo SQL Injection:

Inyección de SQL

http://www.redeszone.net/content/uploads/Tecnicas-de-SQL-Injection.pdf

Inyección de SQL avanzada:

http://www.redeszone.net/content/uploads/advanced_sql_injection.pdf

Manual realizado por Ethiel para REDESZone.net

13 Comentarios
Logo redeszone.net
Navega gratis con publicidad…

Navegar por testdevelocidad.es con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin publicidad desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin publicidad ni cookies de seguimiento.