| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Los efectos de desbordamientos de búfer y Cadenas con formato en el flujo del programa
    Incluso los aspectos más modestas de un programa pueden presentar amenazas de seguridad. Entrada del usuario básico puede cortocircuitar código interno de un programa de varias maneras. La entrada puede utilizar el funcionamiento de las funciones de impresión para acceder flujo del programa de control de reemplazando los límites de la función . O bien, puede invadir los límites de amortiguamiento que le señaló el programador de afectar los datos fuera de su espacio programador designado . De cualquier manera , la entrada del usuario afecta a cómo se ejecuta el programa , potencialmente hacia fines maliciosos . Cadenas de formato

    Formato de cadenas en C y C + + son parte de las funciones de entrada y salida . La cadena de formato contiene datos a los datos de salida a la pantalla . Las cadenas de formato tienen dos componentes principales . El primero es la cadena básica para imprimir , que contiene caracteres y signos de puntuación . El segundo componente incluye carácter especial marcado con signos de porcentaje que sirven como marcadores de posición para los datos variables . Existen estos símbolos en la cadena, y son reemplazadas durante la salida de los valores mantenidos en variables. El siguiente ejemplo muestra una sentencia printf básico con una cadena de formato :

    caracteres x = " c " ; int y = 10 ;

    printf ( "Impresión de caracteres% c y decimales % d" , , x, y);
    cadena de formato Ataques

    la inseguridad de las cadenas de formato está en cómo los símbolos incrustados en las cadenas de referencia de otras partes del programa. Por ejemplo , un atacante introducir datos en una variable que se utiliza en una cadena de formato puede inyectar símbolos que le permiten acceder a otros marcos de ejecución en el programa . De este modo , el atacante puede modificar los valores en las variables fuera del ámbito de aplicación de la función de impresión . Por otra parte , el atacante podría posiblemente acceder a los valores en la memoria que representan la ubicación de las funciones . El atacante podría cambiar ese valor para que apunte a una función diferente , cambiando así el flujo de ejecución y, esencialmente, el secuestro del programa.
    Entrada Buffers

    entrada tampones son espacios de almacenamiento de datos creados por el programador para almacenar los datos introducidos por el usuario . Muy a menudo, buffers de entrada manejar la entrada del usuario del registro de nombres y contraseñas. Específicamente para el lenguaje de programación C, que no incluye el manejo de cadenas nativo, existen buffers de entrada como arrays de caracteres con un tamaño fijo . En este caso, es responsabilidad del programador para asignar los datos de entrada del usuario .
    Buffer Overflow

    Un atacante podría aprovechar las limitaciones de estos búferes inundaciones con datos. En el ejemplo más simple , una serie de personajes destinado a mantener un registro de nombre podría haber 20 espacio asignado , pero el atacante le da más de veinte personajes para procesar . En este caso , los caracteres adicionales sobrescriben posiciones de memoria inmediatamente después de la matriz. Estas posiciones de memoria posiblemente contienen datos relevantes para la ejecución del programa , como las variables condicionales para las instrucciones de control de flujo o referencias a funciones de la pila . Al igual que el ataque de formato de cadena , esto esencialmente permite al atacante secuestrar el programa.

    Previous :

    next :
      Artículos relacionados
    ·Refactorizar código para un mejor rendimiento 
    ·Las especificaciones para una ATI Sapphire X1550 
    ·Cómo utilizar Pivot en SQL 
    ·Cómo acceder a controles ActiveX 
    ·Cómo Redactar un correo electrónico profesional utili…
    ·Cómo forzar un Destructor llamada en C + + Net 
    ·Cómo personalizar una característica Tesis 
    ·Cómo visualizar el cuadro de diálogo Imprimir 
    ·Cómo hacer una caja redondeadas con CSS3 
    ·Cómo Código Loop en AS3 
      Artículos destacados
    ·¿Qué es la desigualdad en JavaScript 
    ·Cómo añadir una serie a otra cadena en Struts 2 en JS…
    ·Cómo utilizar Constant Global en Ruby Rails 
    ·Cómo hacer VBA Cajas de entrada 
    ·Cómo diseñar un juego 2D Usando Lua jugador 
    ·Cómo crear Flash Cards en Python 
    ·¿Qué es un diagrama de flujo de programación 
    ·Cómo hacer una pelota que rebota Animación informació…
    ·Cómo utilizar una sentencia if para la selección en J…
    ·Cómo utilizar el comando Strlen en C + + 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com