Buffer Overflow ist die Folge einer Schwachstelle in Computer Software: Indem über Speichergrenzen heraus geschrieben wird, wird dieser Exploit von Angreifern benutzt, um das verwundbare Programm zum Absturz zu bringen. Und sogar Schadcode – der sogenannte Payload – kann hierdurch in das betroffene System eingefügt und ausgeführt werden.
Im Stack Segment werden lokale Funktionsvariablen abgelegt, welche zum Beispiel durch User-Eingaben gefüllt werden. Die Architektur des Stacks erlaubt es Angreifern, wichtige Adressen zu überschreiben. Wird die User-Eingabe nicht vom Programm abgefangen und überprüft, kann das Programm beeinflusst werden, so dass Fremdcode eingefügt werden kann.
In diesem Video Tutorial reverse engineere ich meinen Demo Code mit dem Programm Immunity Debugger und zeige, wie das Programm verarbeitet wird:
Wie werden Variablen im Stack verarbeitet und wie reagiert das Programm zur Laufzeit? Weiterlesen