Print Stack Canary

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

Andere Möglichkeiten, HackTricks zu unterstützen:

Vergrößern Sie den gedruckten Stack

Stellen Sie sich eine Situation vor, in der ein Programm anfällig für einen Stack-Überlauf eine puts-Funktion ausführen kann, die auf einen Teil des Stack-Überlaufs zeigt. Der Angreifer weiß, dass das erste Byte des Canary ein Nullbyte (\x00) ist und der Rest des Canary zufällige Bytes sind. Dann kann der Angreifer einen Überlauf erstellen, der den Stack überschreibt, bis nur das erste Byte des Canary übrig ist.

Dann ruft der Angreifer die Funktionalität puts in der Mitte des Payloads auf, die den gesamten Canary (außer dem ersten Nullbyte) ausdruckt.

Mit diesen Informationen kann der Angreifer einen neuen Angriff entwerfen und senden, wobei er den Canary kennt (in derselben Programmsitzung).

Offensichtlich ist diese Taktik sehr eingeschränkt, da der Angreifer in der Lage sein muss, den Inhalt seines Payloads zu drucken, um den Canary zu extrahieren und dann in derselben Programmsitzung einen neuen Payload zu erstellen und den echten Pufferüberlauf zu senden.

CTF-Beispiele:

Beliebige Lesezugriff

Mit einem beliebigen Lesezugriff wie dem, der durch Format Strings bereitgestellt wird, könnte es möglich sein, den Canary preiszugeben. Überprüfen Sie dieses Beispiel: https://ir0nstone.gitbook.io/notes/types/stack/canaries und Sie können lesen, wie Sie Formatstrings missbrauchen, um beliebige Speicheradressen zu lesen:

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

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated