Buffer Overflow Nedir?
Bir program, bir tampona (buffer) tutabileceğinden daha fazla veri yazdığında oluşur. Taşan veri, bellekteki komşu alanları ezer.
Yığın Tabanlı Taşmalar
Çağrı yığınını (call stack) hedef alır. Dönüş adresi (EIP/RIP) saldırganın kontrolündeki veriyle ezilebilir.
void vulnerable(char *input) {
char buf[64];
strcpy(buf, input); // sınır kontrolü yok!
}Korunma Yöntemleri
ASLR, NX/DEP ve stack canary'leri modern savunmalardır. Güvenli fonksiyonlar (strncpy, snprintf) ve derleyici korumaları kullanın.