Bonsoir,
Je suis sous Mac OS X Yosemite 10.10.3, j'essaye de comprendre la technique du buffer overflow basé sur une pile.
Cependant, mon exemple bien que simpliste ne fonctionne pas car la fonction strcpy me renvoit un abord, est-ce l'OS qui protège la mémoire du programme d'un overflow ?
J'ai essayé de compilé avec gcc -fno-stack-protector mais rien ne change... Comment puis-je testé l'overflow ?
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> #include <string.h> main (int argc, char *argv[]) { char buffer [256]; if (argc>1) strcpy(buffer, argv[1]); return (0);
Partager