Wat is Bufferoverloop (buffer overflow)?
Meer gegevens schrijven naar een gebied zoals een array (een buffer) dan erin passen, waardoor het aangrenzende geheugen wordt beschadigd. In C gebeurt dit gemakkelijk met functies die de grootte van de bestemming niet kennen, zoals strcpy en gets, of met lussen die indexen gebruiken zonder het bereik te controleren, en het is ongedefinieerd gedrag. Als een buffer op de stack overloopt, kunnen lokale variabelen en het retouradres van de functie worden overschreven, wat kan worden misbruikt door aanvallen die via gemanipuleerde invoer willekeurige code uitvoeren. Het wordt voorkomen met functies die een grootte aannemen en met controles van het bereik.
Japanse benaming: バッファオーバーフロー
“Bufferoverloop (buffer overflow)” komt voor in 3 oefenvragen uit 2 onderwerpen, bijv. Linker, loader en uitvoerbare formaten, Basis van programmeren in C.
Vakgebied: Basis van programmeren in C