IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[informations a voir] Une explication sur le bufferoverflow


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut [informations a voir] Une explication sur le bufferoverflow
    On en entend beaucoup parler comme une faille de sécurité non négligeable mais j'avoue avoir lu des articles dessus sans rien comprendre.
    Quelqu'un d'aimable serait t'il capable d'expliquer en détail comment fonctionne cette méthode ?
    C'est hard mais je suis sur que c'est au niveau de certains d'entre vous .
    FRanck
    Ps: ceux qui me demandent d'aller chercher sur google ou tout autre, je leur réponds simplement que la question ne leur ai posée.

  2. #2
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Allez une petite définition
    http://commons.somewhere.com/buzz/20...er.Overfl.html
    Attention à pas déraper les gars sur ce sujet 8)

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut lol
    au lycee si je ne me trompe pas j' utilisait cette methode pour planter les vielles versions du dos

    ok la methode consiste a provoquer un debordement de la mémoire
    je vais te donner un ptit prog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char *string;
    scanf("%s",string);
    on a saisie je crois, si tu l'a remarqué on a po allouer de la memoire pour contenir string donc ce code sur un system non securisé ne va pa faire ce que tu desire. le prog va surement planter la becane afin que t'ais de la chance,si la zone memoire et vide.

    si tu n'a po encore compirs je vais preciser:
    quand tu alloue de la memoire dans le tas (heap en anglais) le compilateur
    va essayer de trouver une zone propice pour ce la,sinon la fonction malloc(pour notre cas) va retourner un carac null.

    NB:
    ----
    voici le a quoi ressemble la memoire (ensemble de bascules)

    _____ N ______ M __________________ P_ O ____ _ X ___

    ou (_):zone utilisée
    ( ) :zone libre

    l'allouement dans la memoire se fait alleatoirement

    a la prochaine bye

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    En fait le stackoverflow appeler le comme vous voulez c koi ?

    Tu as un programmes qui possedes des variables pas dynamiques et pas staic donc automatique

    C'est derniere sont stocké en mémoire sur ce qu'on appelle la pile ou stack en anglais

    l'overflow consiste en koi

    Maintenant appel une fonction

    Kan tu appeles une fonction il y a un saut dans le programme en asm c call

    Mais il te faut mémoriser l'adresse de retour cad en sortant de ta fonction la tu tu retourneras biensur c fais a l'insu de ton plein gré ça
    Le systeme enregistre sur la pile l'adresse a laquelle il retournera kan il aura fini d'executer la fonction

    L'overflow coniste a surcharger la pile pour écraser l'adresse de retour et la remplacé par une autre adresse genre l'adresse d'une autre fonction

    cela arrive par exemple si j'ai un tableau de 20 char et que a la saisie j'en saisie 40 par exemple et c la qu'il fo te débrouiller pour mettre ton adresse

    Bon c pas tres clair je sais bien mais bon le principe c'est ça

    Voila ++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    et bien entendu l'utilité de mettre une autre adresse de retour est de faire pointer le programme dans une plage mémoire dans laquelle on pourra mettre son propre code d'ou la vulnerabilité : un bufferoverflow permet de faire executer le code de son choix sur une machine executant le fichier vulnerable. tu imagines ensuites les consequences si c'est fait par des personnes mal intentionnées ...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par hegros
    blablabla..
    !Explication théorique parfaite: Merci pour celle ci ?
    Mais en pratique ca donne quoi ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    si tu veux des exemples dans la pratique tu en as des tres jolis ... codered, nimda, slammer ... toutes ces jolies saloperies.
    j'avais fait une formation sur la securité et on nous avait montré le code qui etait defaillant dans IIS et qui avait servi a la creation de codered ... c'etait simplement une variable trop grande par rapport a ce qu'on devait y mettre ... codered rajoutais son code dans la place libre ...

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Karuto
    balbalab...
    C'est sympa d'apporter cette précision et je me renseignerais sur le sujet, mais vous connaissez pas un exemple simple en c qui exploiterait le bufferoverflow , si j'ai bien compris ca doit etre du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void func(char* buffer)
    {
    // Et si ici qu'on met le code pour exploiter le buffer overflow? ????
    }
     
    main(int argc,char** argv)
    {
    func(argv[1]);
    return;
    }
    Qu'en pensez vous ?

  9. #9
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Bonjour
    Que penses tu de:
    http://www.linuxjournal.com/article.php?sid=6701
    Là tu trouves des exemples concrets en C.
    Maintenant si tu veux voir à l'intérieur
    bah t'en télécharges un et tu ouvres grand
    tes yeux

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Gnux
    blablabla
    Merci Gnux ca c'est de l'info !

  11. #11
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 752
    Points : 10 683
    Points
    10 683
    Billets dans le blog
    3
    Par défaut
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_Buffer_Overflow.asp

    VC++ 7 dispose d'une option qui permet de détecter un overflow. Ca peut être intéressant ...
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vclrfGSBufferSecurity.asp
    http://www.ondotnet.com/pub/a/dotnet/2002/11/18/everettcpp.html
    (=> Security Enhancements)

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Merci HW pour les liens.

  13. #13
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    KORDA a écrit:
    blablabla

    Tu penses quand meme pas que je vais te donner un code débrouille toi sans moi

    KORDA serais-tu mal intentionné ?

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par hegros
    KORDA a écrit: blablabla
    Petite précision c'est KORTA.

    Citation Envoyé par hegros
    Tu penses quand meme pas que je vais te donner un code débrouille toi sans moi
    Je pensais pas que tu le prendrais de cette facon. Je regrette que tu réagisses comme ca.

    Citation Envoyé par hegros
    KORDA (KORTA) serais-tu mal intentionné ?
    Pas du tout ,je cherche a comprendre un mécanisme concernant la sécurité des systèmes. C'est seulement pour ma culture personnelle.
    Mon interet pour ce sujet n'a donc aucune relation avec la mise en place d'un virus et n'a donc rien de mal intentionné. Si vraiment mon intention était mauvaise, je prendrai le code de quelqu'un qui lui a l'esprit mal tourné!

  15. #15
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Citation Envoyé par hegros
    KORDA a écrit:
    KORDA serais-tu mal intentionné ?
    Je ne pense pas au vu du personnage il me
    semble qu'il a largement les capacités d'écrire un
    buffer donc de se démerder à trouver la doc tout seul.
    Non moi je pense qu'il voulait savoir ce que c'était pour
    nous (programmeur en C), comment on l'appréhendait
    et ce qu'éventuellement on utilisait pour le contrer.
    Tu sais hegros qud on est mal intentionné c très facile
    (malheureusement) de trouver les moyens nécessaires sur le net
    sans se prendre le chou sur les overflow.
    Voilà ce que j'en pense 8)
    KORTA:qu'en penses tu toi?

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Gnux
    blablabla..
    On a écrit le message quasiment en meme temps, j'ai juste été un peu plus rapide que toi ; ceci implique que mon avis tu le trouveras juste en dessus de ton avis.
    A bientot

  17. #17
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Oui j'ai vu cela après
    autant pour moi
    A+

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    KORTA l'informatique ce n'est pas que des lignes de codes, si pour toi les explications qu'on a donnés et qui expliquent le fonctionnement d'un bufferoverflow ne sont que du
    blablabla
    et bien je trouve ca un peu dommage. les lignes de code c'est bien mais bon sans explications ca vaut pas grand chose a mon sens. enfin tu as eu tes exemples et tes lignes de code j'espere maintenant que tu ne vas pas devenir un de ces trou du c*l qui pondent des vers et autres saloperies qui nous bouffent la vie.

  19. #19
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Beh oué je sais bien que sur le net tu peux trouver des sources a ce sujet

    Mais bon le blabla je trouve que cc une façon de parler un peu juste je crois

    Enfin je vais pas faire de polymique

    Mais pour répondre Google dans ce cas pour plus d'info parce que depuis un moment les messages sont hors sujet a savoir celui de Gnux

    Gnux tu es hiors sujet la on parler d'overflow on t'a pas demandé ton avis sur autre chose

  20. #20
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    En réponse aux personnes mécontentes :
    Citation Envoyé par Karuto
    KORTA l'informatique ce n'est pas que des lignes de codes, si pour toi les explications qu'on a donnés et qui expliquent le fonctionnement d'un bufferoverflow ne sont que du blablabla et bien je trouve ca un peu dommage.
    Citation Envoyé par hegros
    Mais bon le blabla je trouve que cc une façon de parler un peu juste je crois
    Certains se meprennent totalement, et vous en faites partie. L'interpretation que vous faites de blablabla est une mauvaise interprétation. Etant l'auteur de ces phrases, je vous en donne maintenant l'interpretation que j'ai voulu lui donner : "Suite a ce que vous avez dit".
    Je regrette encore une fois que certains aient pu mal l'interpreter!!


    les lignes de code c'est bien mais bon sans explications ca vaut pas grand chose a mon sens. enfin tu as eu tes exemples et tes lignes de code j'espere maintenant que tu ne vas pas devenir un de ces trou du c*l qui pondent des vers et autres saloperies qui nous bouffent la vie.
    Si tu lis le message que j'ai posté plus haut, j'indique que c'est pour ma culture personelle et en rien mal intentioné.
    A bientot.

    Une derniere petite chose concernant hegros.
    Citation Envoyé par hegros
    Gnux tu es hiors (hors) sujet la on parler d'overflow on t'a pas demandé ton avis sur autre chose
    Tu as bien expliqué l'overflow et je t'en ai remercié mais on peut pas dire que tu aies autant de talent en diplomatie. Gnux donne son avis et c'est tout a fait légitime.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débutant] Un noob a besoin d'une explication sur une instruction curieuse
    Par Laskar dans le forum C#
    Réponses: 4
    Dernier message: 09/04/2014, 09h26
  2. Impossible de voir une table sur access
    Par menoulette dans le forum Access
    Réponses: 1
    Dernier message: 23/09/2013, 07h33
  3. Besoin d'une explication sur une ligne !
    Par info3licen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/03/2010, 19h45
  4. Besoin d'une explication sur les pointeurs
    Par ToTo13 dans le forum C
    Réponses: 6
    Dernier message: 04/10/2008, 10h41
  5. Besoin d'une explication sur une "notation" de vista
    Par honeydew dans le forum Windows Vista
    Réponses: 5
    Dernier message: 22/08/2008, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo