| 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
    Cómo encontrar Desbordamientos de búfer
    Búsqueda de desbordamientos de buffer es una parte importante de asegurar que su programa está a salvo de los ataques y bloqueos accidentales. Un desbordamiento de memoria se produce cuando se insertan datos en una cadena o matriz sin comprobación de los límites , y la longitud de entrada es mayor que la memoria intermedia se está intentando copiar en . Encontrar lugares donde pueden producirse desbordamientos de búfer se realiza mediante la búsqueda de funciones no seguras como "recibe ", analizando las comprobación de límites en las funciones como " strncpy " y probar a fondo su programa con diferentes tipos de entrada. Instrucciones
    1

    Buscar el código de su programa para las funciones peligrosas como "recibe ", " scanf ", " strcpy ", " strcat ", " sprintf " y " strlen ". Estas funciones no tienen ninguna comprobación de límites incorporados y sólo son adecuados cuando el 100 por ciento de los usuarios del programa son de confianza y los accidentes ocasionales se puede tolerar . Proporcionar comprobación de límites a sí mismo mediante la verificación de que la longitud de entrada no es mayor que la longitud del búfer disponible.
    2

    investigar cualquier llamada de comprobación de límites funciones como " strncpy ", " strncat " y " snprintf " . Asegúrese de que el final de la matriz de entrada recibe un byte nulo . Límites comprobación incorrecta puede dar lugar a que faltan bytes nulos o uno colocado después del final de la matriz . Al combinar cadenas , asegúrese de que el cheque sale utiliza la longitud de la cadena total menos el contenido pre - existente de la cadena , en lugar de utilizar toda la longitud de la cadena como comprobar los límites.
    3

    prueba su programa mediante la introducción de insumos excepcionalmente grandes y ver si se bloquea , se corrompe o muestra una actividad inusual . Tenga en cuenta la dirección de todos los accidentes para ver si se corresponde con el lugar donde el programa procesa los datos de entrada . Programas como herramienta de auditoria Rough de Seguridad , también conocida como "ratas ", pueden escanear el código y la ubicación del pabellón que posiblemente son vulnerables a desbordamientos de búfer .

    Previous :

    next :
      Artículos relacionados
    ·Cómo convertir String en vez en SQLite 
    ·Cómo enlazar una colección de Sharp C a un cuadro de …
    ·Diferencias entre Si y Si bien Declaraciones 
    ·Cómo utilizar una sentencia case en ASP.Net 
    ·Pasos para el Protocolo de Negociación 
    ·Cómo hacer un tema DotNetBar de mensajes 
    ·Cómo prevenir una barra de navegación de empujar haci…
    ·¿Cómo resolver matrices usando QBasic 
    ·Cómo enviar un mensaje SMS en el Android 
    ·Cómo utilizar un cuadro de lista en una HTA 
      Artículos destacados
    ·Cómo utilizar Cscript para crear una base de datos bas…
    ·Cómo pasar variables de la shell de AWK 
    ·Cómo empezar a escribir programas de ordenador 
    ·Cómo usar Silverlight en Asp.NET 
    ·¿Qué es un agente de prueba 
    ·Cómo utilizar el Colon en Java 
    ·Cómo aprender Design System 
    ·Tipos de datos de Python en memoria 
    ·Cómo Downcast en VB.NET 
    ·Ejemplos básicos de jQuery 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com