ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Format String Attack : que es, definición y significado, descargar videos y fotos.

videos internet

salud  ıllı Format String Attack : que es, definición y significado, descargar videos y fotos.  


Para comprender el ataque, es preciso entender los componentes que lo constituyen:



  • La función de formato: es una función de conversión ANSI C, como printf, fprintf, que transforma una variable primitiva del lenguaje de programación en una representación de cadena inteligible por humanos.
  • La cadena de formato: es el razonamiento de la función de formato y es una cadena ASCII Z que contiene factores de texto y formato, como:
printf ("La data de nacimiento es:  por ciento d \n", mil novecientos setenta y cuatro);


  • El factor de cadena de formato: como por ciento x por ciento s, define el género de conversión de la función de formato.

El ataque podría ejecutarse cuando la aplicación no valide apropiadamente la entrada mandada. En un caso así, si un factor de cadena, como por ciento x, se introduce en los datos publicados, la cadena es analizada por la función pertinente al formato y se ejecuta la conversión detallada en los factores. No obstante, se aguardan más razonamientos como entrada, y si estos razonamientos no se dan, la función podría leer o bien redactar en la pila.


De esta forma, es posible acotar una entrada bien desarrollada que podría mudar el comportamiento del formato de la función de la aplicación, dejando de esta manera al atacante ocasionar una denegación de servicio (DNS) o bien provocar la ejecutar comandos arbitrarios.


Si la aplicación emplea funciones de formato en el código fuente, que es el responsable de interpretar los caracteres de formato. El atacante podría explorar la vulnerabilidad introduciendo caracteres de formato en el sitio. Por servirnos de un ejemplo, si la función printf se emplea para imprimir el nombre de usuario insertado en ciertos campos de la página, el sitio podría ser frágil a este género de ataque. Como mostramos a continuación:

printf (nameUser);

Hay una serie de funciones de formato definidas en el ANSI C, ciertas empleadas para cubrir necesidades básicas y otras más complejas basadas en estas primeras, que aunque no entran en el estándar, si están libres para su empleo.


Funciones básicas:



  • printf ? Imprime el flujo ’stdout’.
  • fprintf ? Imprime el flujo de un archivo.
  • sprintf ? Imprime en una cadena.
  • snprintf ? Imprime en una cadena verificando la longitud.
  • vprintf ? Imprime en ’stdout’ desde una estructura va_arg.
  • vfprintf ? Imprime en un archivo desde una estructura va_arg.
  • vsprintf ? Imprime en una cadena desde una estructura va_arg.
  • vsnprintf ? Imprime en una cadena verificando la longitud desde una estructura va_arg.
  • otras: ? syslog, ver, err, vwarn, warn y setproctile.

A continuación se muestran ciertos ejemplos de funciones de formato, que si no se trata la información con la seguridad debida, pueden exponer a la aplicación a un Format String Attack, o bien a lo que es exactamente lo mismo, a un Ataque de Cadena de Formato.


Funciones de Formato

Función de formatoDescripciónfprintEscribe la cadena en un archivoprintfSalida de una cadena con formatosprintfImprime una cadenasnprintfImprime en una cadena que verifica la longitudvfprintfImprime la estructura a_val_arg en un archivovprintfImprime la estructura va_arg en stdoutvsprintfImprime el va_arg en una cadenavsnprintfImprime el va_arg en una cadena que verifica la longitud

A continuación se presentan ciertos factores de formato que se pueden emplear y las consecuencias que tienen:



  • por ciento x: Lee los datos de la pila.
  • por ciento s: Lee cadenas de caracteres de la memoria del proceso.
  • por ciento n: Escribe un número entero en las localizaciones de la memoria del proceso.

Para descubrir si la aplicación es frágil a esta clase de ataque, es preciso contrastar si la función formato admite y examina los factores de la cadena de formato mostrados en la próxima tabla:


Parámetros comunes usados en un ataque de cadena de formato

ParámetrosSalidaAprobado como por ciento por ciento por ciento carácter (textual)Referencia por ciento pRepresentación externa de un puntero a voidReferencia por ciento dDecimalValor por ciento cCaracterValor por ciento uDecimal sin signoValor por ciento xHexadecimalValor por ciento sCadenaReferencia por ciento nEscribe el número de caracteres en un puntero

El comportamiento de la función de formato es controlado por format string. Recobrando los factores pedidos desde la pila de la próxima manera:

printf (" Número  por ciento d sin dirección , Número  por ciento d con dirección :  por ciento 08x\n", i , a, &a );

En el lateral podemos ver el aspecto que tendría nuestra pila de instrucciones.

Pila_caracteres

A continuación describiremos cada una de las variables usadas:



  • A ? Dirección de la cadena.
  • i ? Valor de la variable i.
  • a ? Valor de la variable a.
  • &a ? Dirección de la variable a.

La función de formato parseará la cadena A, leyendo carácter a carácter y copiándolo en la salida al tiempo que este no sea ’ por ciento ’. En el instante en el que halla el carácter después de ’ por ciento ’, detallará el género de factor a valorar. La cadena ’ por ciento por ciento ’ se comporta en especial, y deja imprimir al salir el carácter ’ por ciento ’. Los otros factores se relacionan con el resto de datos alojados en la pila.


La vulnerabilidad viene por el mal empleo que se la da a la función printf. Cuando la empleamos como:

printf(cadena);

En sitio de:

printf(" por ciento s", cadena);

Aunque el resultado devuelto es exactamente el mismo y marcha apropiadamente, lo más atinado sería la segunda opción.


La omisión del factor de formateado deriva en una vulnerabilidad que podría ser aprovechado por un atacante para provocar la ejecución de código malicioso.


Si deseamos prevenir este género de ataques es recomendable tener en consideración las próximas medidas:



  1. Usar la manera completa de la función printf().
  2. Usar snprintf() en lugar de sprintf(), dependiente del tamaño del buffer de destino.


  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Format String Attack : que es, definición y significado, descargar videos y fotos.

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas