Ghosts In The Stack

Commentaires - Les buffers overflows

Poster un commentaire - Retour à l'article

Commentaires

John, le 20/03/2011 :

Salutations,
Un grand merci pour ces articles. Ils sont vraiment clairs, ça fait plaisir à lire.
Par contre, j'ai un petit soucis pour voir ce que tu veux dire par "Nous voyons bien les "a" qui ont été écrits dans le buffer (0x61616161)." Sur la copie de gdb, je ne les vois pas... C'est moi qui suis aveugle ou j'ai loupé une subtilité ?
Merci

Réponse :

Nop, c'est qu'on a merdé dans les copiés collés :/ En fait le dump collé n'est pas le bon... On va rectifier ca ;)

Merci,

Heurs

yop, le 02/11/2009 :

ignoble mais si beau ^^
vraiment hâte de connaître l'asm

linksys, le 28/08/2009 :

j'ai eu le meme probleme (stack smashing detected) en fait ca n'est pas le systeme d'exploitation qui detecte le debordement mais le programme lui-meme. Je m'explique: depuis la version 4.0 (pas sur) de gcc un module de protection SSP (Stack Smashing Protection) a ete rajouter, la faille est detecte et rectifie par gcc a la compilation. Pour la desactiver il faut compiler le programme avec l'option -fno-stack-protector. Essayer de desassembler func() compiler avec le SSP et sans et comparer le code ;) .

Geo, le 07/11/2007 :

Plop plop... C'est Geo !
Bon, alors j'ai deux problèmes.
1)
geo@saphira:~/BoF1$ ./vuln aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
*** stack smashing detected ***: ./vuln terminated
Abandon (core dumped)

Comment éviter cela ? J'ai Kubuntu Feisty Fawn.

2) Randomisation des adresses... Heurs m'a dit qu'on pouvait désactiver ça. Comment faire ?

M'enfin, c'est plus le "1" qui me fait chier là. :'/
Merci d'avance les gars !

Réponse :

1) Je sais pas trop, j'avoue que je n'ai pas encore eu le temps de tester sur ma bécane. Je suppose qu'il doit y avoir un mécanisme de protection qui kill le process s'il détecte un bof :(

2) Pour désactiver la randomization de l'espace d'adressage, tape en root :
echo 0 > /proc/sys/kernel/randomize_va_space

mic, le 03/05/2007 :

merci pour votre réponse.et salutation à max007 qui nous a toujours aidé.et à vous aussi ;)

mic, le 17/04/2007 :

merci pour ce tuto,mais pourquoi ne pas utiliser OLLYDBG et ne rien entrer comme Argument de la fonction et calculer
l'adresse de EBP - l'adresse de ESP
au lieu de
adresse de l'adresse de retour - adresse du buffer = 0xbffffacc - 0xbffffa80 = 76 nops
j'attends votre reponse je crois que ça donne le même résultat

Réponse :

En fait, j'ai rédigé ce tuto surtout pour Linux, donc j'ai utilisé GDB. Sous Windows, OllyDbg est plus simple à manier. Donc il est en effet beaucoup plus pratique de calculer la taille des nops avec Ollydbg :) Mais il est prévu pour Windows, pas pour Linux...

Max007, le 15/04/2007 :

vraiment bravo,même si j'exploite les failles des programmes en utilisant windows et j'ai presque jamais essayé pour un prog linux mais je vous dis bravoo car votre tuto est très claire et troop facile.bonne continuation.de la part de Max007.ce surnom est très connu n'oublie pas ;)

DeZ_67, le 10/08/2006 :

Le cours d'asm que vous avez mis comme lien n'est pas super(celui de developpez)
ici c'est mieux
http://wired.s6n.com/files/jathias/Initiation_Assembleur.pdf
http://drpaulcarter.com/pcasm/pcasm-book-french-pdf.zip

(je dit ca car pour comprendre un BoFs c'est mieux de connaitre l'asm)

beau tuto
a+

Poster un commentaire

Les commentaires sont soummis à certaines règles, qui sont une question de bon sens.

Utilisez-les à bon escient. Vous pouvez donnez votre opinion, vos critiques, nous signaler des fautes, apporter des précisions. Vous pouvez également nous poser des questions ; nous essaierons de vous répondre dans la mesure du possible.

Ne confondez pas commentaires et forum ; votre commentaire doit être en rapport avec l'article. Si vous souhaitez donner un commentaire général sur le site, envoyez-nous plutôt un mail.

Merci de nous laisser votre adresse e-mail, afin que nous puissions vous recontacter si besoin. Le code HTML n'est pas interprété dans les commentaires.

Les commentaires sont soummis à une validation des administrateurs. S'ils ne respectent pas ces règles, ils seront systématiquement refusés. Merci de votre compréhension ;-)