Zum Inhalt springen

Heap Overflow

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. Mai 2004 um 16:21 Uhr durch Fabian Bieker (Diskussion | Beiträge) (neu). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ein Heap Overflow ist ein Buffer Overflow der auf dem Heap stattfindet. Speicher auf dem Heap wird allokiert wenn Programme dynamischen Speicher anfordern, etwa über malloc() oder den C++ new Operator. Werden in einen Puffer auf dem Heap Daten ohne Überprüfung der Länge geschrieben, kommt es zu einem Speicherüberlauf.

Durch Heap Overflows kann beliebiger Code auf dem Zielrecher ausgeführt werden. Sie können nur in Programmiersprachen auftreten in denen bei Pufferzugriffen keine Längenüberprüfung stattfindet. C, C plus plus oder Assembler sind anfällig, Java oder Perl sind es nicht.

siehe auch: Shellcode, Exploit