| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Les effets de tampon débordements et Chaînes de format sur ​​les flux de programme
    Même les aspects les plus modestes d'un programme peuvent présenter des menaces de sécurité . Saisie de l'utilisateur de base peut court-circuiter le code intérieure d'un programme de diverses façons. L'entrée peut utiliser les rouages ​​de fonctions d'impression accéder au flux du programme de contrôle en substituant les limites de la fonction . Or , il peut envahir les frontières de tampon qui lui sont fixés par le programmeur pour modifier les données en dehors de son espace programmeur - désignés. De toute façon, l'entrée de l' utilisateur affecte la façon dont le programme s'exécute , potentiellement vers des fins malveillantes. Chaînes de format

    chaînes de mise en forme en C et C + + font partie d' entrée et fonctions de sortie . La chaîne de format contenant des données à des données de sortie à l'écran . Les chaînes de format ont deux composantes principales. Le premier est la chaîne de base à imprimer, contenant des caractères et des signes de ponctuation. Le deuxième volet comprend un caractère spécial marqué par des signes de pourcentage qui servent d' espaces réservés pour les données variables . Ces symboles existent dans la chaîne, et sont remplacées lors de la sortie des valeurs détenues dans des variables . L'exemple suivant illustre une déclaration printf de base avec une chaîne de format :

    caractères x = "C " ; int y = 10 ;

    printf ( " % c impression de caractères et les décimales % d" ; , x, y);
    Chaîne de Format Attaques

    l'insécurité des chaînes de format réside dans la façon dont les symboles intégrés dans la chaîne de référence à d'autres parties du programme . Par exemple , un attaquant entrer des données dans une variable utilisée dans une chaîne de format peut injecter des symboles qui lui permettent d' accéder à d'autres cadres de l'exécution du programme. Ce faisant, l'attaquant peut modifier les valeurs des variables en dehors de la portée de la fonction d'impression. Par ailleurs , l'attaquant pourrait éventuellement accéder à des valeurs dans la mémoire qui représentent l'emplacement de fonctions. L'attaquant pourrait alors changer cette valeur pour pointer vers une fonction différente , modifiant ainsi le flux d'exécution et le détournement essentiellement le programme.
    Tampons d'entrées

    entrée tampons sont des espaces de stockage des données créées par le programmeur pour contenir des données saisies par l'utilisateur . Le plus souvent, les tampons d'entrée gérer les entrées de l'utilisateur de se connecter à des noms et des mots de passe. Spécifiquement pour le langage de programmation C , qui ne comprend pas la gestion de chaînes d'origine, tampons d'entrée existent sous forme de tableaux de caractères avec une taille définie . Dans ce cas , il appartient au programmeur d'allouer des données pour la saisie de l'utilisateur .
    Buffer Overflow

    Un attaquant pourrait tirer parti des limites de ces tampons par inondant de données. Dans l' exemple le plus simple , un tableau de caractères destiné à tenir un journal dans le nom aurait 20 espace alloué , mais un attaquant donne plus de vingt personnages à traiter. Dans ce cas, les caractères supplémentaires remplacent des emplacements de mémoire immédiatement après le tableau. Ces lieux de mémoire peut-être contiennent des données relatives à l'exécution du programme , comme les variables conditionnelles pour les instructions de contrôle de flux ou des références à des fonctions dans la pile. Comme l'attaque de chaîne de format, ce qui permet essentiellement à l'attaquant de détourner le programme.

    Previous :

    next :
      articles connexes
    ·Comment créer un site Web High-Tech 
    ·Comment faire une console Eclipse Longer 
    ·Le chat vocal projets dans Visual Studio 
    ·Comment faire pour convertir Signe champs à Alpha Nume…
    ·Comment écrire GData Entrée valeurs en tant que Strin…
    ·Comment ajouter des lignes à une combo 
    ·Comment faire pour supprimer les espaces dans une chaî…
    ·Formation gratuite de programmation informatique 
    ·Comment filtrer les données dans SSIS 
    ·Règles de style COBOL 
      articles en vedette
    ·Comment crypter et Watermark un PHP PDF 
    ·Quel est le contraire de l' impression en programmation…
    ·Comment crypter un fichier en VB.NET 
    ·Comment faire pour supprimer le bouton Fermer sur VBA 
    ·Comment puis-je créer un séparateur de tabulation pou…
    ·Comment cordes QBasic à des lignes multiples 
    ·Comment écrire un Site 301 ou 302 de redirection utili…
    ·Comment utiliser Xerces dans Eclipse 
    ·Comment faire pour utiliser des couleurs non définies …
    ·Comment utiliser la fonction strstr en C + + 
    Copyright © Connaissances Informatiques http://fr.wingwit.com