Citat:
BytEfLUSh: ...greška programera koji radi u PHP-u.
Ma nemoj mi reći :)
Gle, da li je po tebi
mogućnost exploatiranja buffer overflowa u ovog snippetu:
Code:
void f(char *str) {
char buf[16+1];
strcpy(b,str);
}
po tebi rezultat loše sigurnosno implementiranog kompajlera, ili programera?
Vidim po odgovoru da je očito ovo drugo, i ne mogu više da se ne složim. Ljudi su pobjegli od asemblera da bi povećali produktivnost, a dan danas su na lošim kompajlerima ograničeni ovakvim glupim bugovima. Moraju pazit šta će koja linija koda, kad se prevede u asm, prepisati gdje na stogu, da li ima neki lebdeći pointer koji korisnik može kontrolirati, da li su pravilno parsali argumente...
Nigdje ne vidim da u ANSI-C standardu piše kako varijable moraju biti organizirane na stogu, zar ne?
Ukoliko se neka
kategorija bugova može generički eksploatirati, to je više problem
sigurnosnog modela okruženja u kojem takvi bugovi postoje, a manje programera.
Štoviše, ovo je još gore nego bugovi predkompajliranih jezika, jer za njih ne postoji generički algoritam za eksploatiranje :)