Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buongiorno studiando mi sono imbattuto nel buffer overflow e mi è venuta la curiosità di provare a vedere come funzionava ( sò benissimo che disprezzate cracker ecc ma qui è per puro interesse... ) ho scritto un codice di questo tipo proposto da una guida:
Codice sorgente - presumibilmente C++
#include <stdio.h>
#include <string.h>
int main(int argc, char**argv ){
char bof[100];
strcpy( bof, argv[1]);
return0;
}
lo luncio usando l'iinterprete perl per far stampare nella linea di comando 1000 "B" e chiaramente segmenta...
Quindi quando lo passo a gbd nei registri mi dice di aver sovrascritto ebp ma non eip...
Io ci ho un po' studiato mettendo + caratteri nella linea perl ma nulla eip non si sovrascrive qualcuno sa il perchè? Ripeto non ho interessi criminali è per informazione...
Ciao, ma il Buffer OverFlow su che OS lo stai sperimantando?
Perchè se lo stai provando su Linux alcune distribuzioni utilizzano delle protezioni contro l' OverFlow in modo da non sostituire EIP.
quello che mi pareva strano è che usando lo stesso compilatore sistema operativo ecc. non ottenessi lo stesso risultato del tutorial...
La distro usata è Slackware 12 e il compilatore gcc... Non riesco proprio a capire