[jesli adminowie uznaja za stosowne to mozna to przykleic]
[color=red]Uznalem to za stosowne - Unknow ;)[/color]
[czemu w security a nie w programowanie ? wkoncu security sie w znacznym stopniu opiera na szukaniu bledow/bugow w programach]
Topic ten sluzyl bedzie glownie do dyskusji oraz zrobienia "bazy" najczestszych bledow ktore popelniaja programisci, oraz metod ich wykozystania. Proponuje wrzucac w ten topic blad wraz z nazwa, przykladem, oraz krotkim opisem (np czym grozi popelnienie tego bledu). Bede sie staral te ktore nie wystapily jeszcze przeklejac do tego posta. Stworzy sie w ten sposob baza bugow, z ktorej poczatkujacy i nie tylko beda mogli pozniej kozystac (ofc w celu nauczenia sie jak ich nie robic i poprawienia stylu programowania ;ppppp)
oczywiscie nie chodzi tutaj tylko o bledy popelniane w C, ale o wszystkie ;>
[size=150]Bug base[/size]
1. buffer overflow (przepelnienie bufora)
[size=75]podal Gynvael Coldwind[/size]
kod z bledem:
[code]
int main(void)
{
char buffer[256];
gets(buffer); /* blad! */
return 0;
}
[/code]
Blad polega na zapisaniu do buffora "buffer" wiecej niz 256 bajtow danych, co spowoduje nadpisanie (w tym wypadku) stosu i umozliwi wykonanie nieporzadanego kodu pochodzacego z zewnatrz. Zamiast gets powinno sie uzywac [color=red]fgets(buffer, 256, stdin);[/color]. Bled rowniez moze wystapic przy niepoprawnym uzyciu funkcji sprintf, strcpy, strcat (powinno sie uzywac snprintf, strncpy, strncat).