Ĺadny brzuch
Może ktoś słyszał o czymś takim jak pzepełnienie bfora. Chcę dowiedzieć się na czym polega, jak to osiągnąć, jakie skutki powtaną.
Poztrowienia dla wszystkich:D
Eistain jest tylko jeden
O ile się nie myle to przepełnienie bufora to np. coś takiego
char Bufor[100];
int i = 0;
for(i=0; i<=200; i++)
{
Bufor[i] = 'B';
}
Tu się napewno przepełni o 100 :cheesy:
Programista nie wielbłąd wypić musi :D
masz np. taki progs :
#include <stdio.h>
int main(int argc,char* argv[])
{
char buf[256];
if(argc==2)
strcpy(buf,argv[1]);
return 0;
}
i jak podasz jako argument za duzy string to otrzymasz segmentation fault np.
czlowiek@komp#./buggy `perl -e 'print "A" x500 '`
segmentation fault
Skutki? Jezeli ktos ma zle zamiara moze napisac exploita , i jesli ten progs dziala z ustawionym suidem to moze uzyskac root shella.
sorry zapomnialem w tym progsie przed return 0 jeszcze wypadalo by dac puts(buf); ;p
cc-team
Przepelnienie bufora to nic innego jak zapisanie w pamieci danych za znakiem konca tablicy. Oznacza to ze przy przepelnieniu zapisujesz komurki pamieci ktore moga byc innymi zmiennymi co prowadzi do zawieszenia programu a czesto i systemu. Jezeli w programie istnieje mozliwosc wystapieniu wylewu pamieci (przepelnienia bufora) to mozna na taki program napisax exploit umozliwiajacy zapisanie w pamieci procedur dla procesora aby stworzyc dziure w systemie i skoczyc tam. Tak wiec jezeli twoj program ma dziure i obsluguje siec to jest to idealny program dla hakera :D
Under GNU GPL License :P
GG: 2175556
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Poztrowienia dla wszystkich:D
Eistain jest tylko jeden
O ile się nie myle to przepełnienie bufora to np. coś takiego
char Bufor[100];
int i = 0;
for(i=0; i<=200; i++)
{
Bufor[i] = 'B';
}
Tu się napewno przepełni o 100 :cheesy:
Programista nie wielbłąd wypić musi :D
masz np. taki progs :
#include <stdio.h>
int main(int argc,char* argv[])
{
char buf[256];
if(argc==2)
strcpy(buf,argv[1]);
return 0;
}
i jak podasz jako argument za duzy string to otrzymasz segmentation fault np.
czlowiek@komp#./buggy `perl -e 'print "A" x500 '`
segmentation fault
Skutki? Jezeli ktos ma zle zamiara moze napisac exploita , i jesli ten progs dziala z ustawionym suidem to moze uzyskac root shella.
sorry zapomnialem w tym progsie przed return 0 jeszcze wypadalo by dac puts(buf); ;p
cc-team
Przepelnienie bufora to nic innego jak zapisanie w pamieci danych za znakiem konca tablicy. Oznacza to ze przy przepelnieniu zapisujesz komurki pamieci ktore moga byc innymi zmiennymi co prowadzi do zawieszenia programu a czesto i systemu. Jezeli w programie istnieje mozliwosc wystapieniu wylewu pamieci (przepelnienia bufora) to mozna na taki program napisax exploit umozliwiajacy zapisanie w pamieci procedur dla procesora aby stworzyc dziure w systemie i skoczyc tam. Tak wiec jezeli twoj program ma dziure i obsluguje siec to jest to idealny program dla hakera :D
Under GNU GPL License :P
GG: 2175556