hacktricks/binary-exploitation/heap/heap-overflow.md

4.1 KiB

Heap Overflow

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Ein Heap Overflow ist wie ein Stack Overflow, aber im Heap. Grundsätzlich bedeutet dies, dass im Heap etwas Speicher reserviert wurde, um einige Daten zu speichern, und die gespeicherten Daten größer waren als der reservierte Speicherplatz.

Bei Stack Overflows wissen wir, dass einige Register wie der Instruktionszeiger oder der Stackrahmen vom Stapel wiederhergestellt werden und dies möglicherweise missbraucht werden kann. Im Falle von Heap Overflows wird standardmäßig keine sensible Information im Heap-Chunk gespeichert, der überlaufen werden kann. Es könnte jedoch sensible Informationen oder Zeiger geben, daher hängt die Kritikalität dieser Schwachstelle davon ab, welche Daten überschrieben werden können und wie ein Angreifer dies ausnutzen könnte.

{% hint style="success" %} Um Überlauf-Offsets zu finden, können Sie dieselben Muster wie bei Stack Overflows verwenden. {% endhint %}

Beispiel ARM64

Auf der Seite https://8ksec.io/arm64-reversing-and-exploitation-part-1-arm-instruction-set-simple-heap-overflow/ finden Sie ein Beispiel für einen Heap Overflow, bei dem ein Befehl, der ausgeführt werden soll, im folgenden Chunk vom überlaufenen Chunk gespeichert ist. Daher ist es möglich, den ausgeführten Befehl zu ändern, indem er mit einem einfachen Exploit überschrieben wird, wie z.B.:

python3 -c 'print("/"*0x400+"/bin/ls\x00")' > hax.txt
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: