Originariamente inviato da Habanero
Quando non si possiede il sorgente i buffer overflow vengono spesso trovati per tentativi.... fornendo input "strano" o particolarmente lungo si possono notare malfunzionamenti... indice che qualcosa non va. Da qui si parte per ulteriori investigazioni.

Un Buffer Overflow (BOF) consiste nello sfruttare il fatto che il programma si dimentica di controllare la lunghezza dei dati in ingresso prima di memorizzarli in un buffer. Se il buffer è lungo 100 byte e noi forniamo 200 byte c'è il rischio che si vadano a sovvrascrivere zone di memoria adibite ad altro senza che il programma se ne accorga.

Ma ad esempio (sperando non sia un es cretino) se in C indicizzo un array con 9 elementi e gli fornisco un input di 10 elementi va in BOF?