ďťż

Ł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
  •