Basiswissen Buffer Overflow

14.05.2004
Von Thomas Wölfer

char dieZweiteVariable[5];

Weiterhin davon ausgehend, dass die Variable eineVariable an der Adresse 42 beginnt, wäre die Adresse von dieZweiteVariable die 52.

Mit diesem einfachen Konzept ist es nun bereits möglich, einen einfachen Buffer Overflow zu verstehen. Zur Verdeutlichung werden nun die Variablen umbenannt.

Ein Beispielprogramm

Beim Beispielprogramm soll es sich um ein Programm zur Bearbeitung von Kontaktdaten handeln. Im Zuge des Programms werden die Namen und Vornamen von Personen gespeichert. Dazu werden zwei Variablen angelegt: "Name" und "Vorname". Namen sind meist recht kurz und daher bekommen die Variablen feste Längen. Für Namen und Vornamen stehen je 15 Bytes zur Verfügung.

char Name[ 15];