Du kennst doch sicher die Funktion “printf”. Wenn nein, ist auch okay. Bei der Funktion steht meistens „%s“ mit einem String dahinter. Danach kann man dann zum Beispiel das allseits bekannte „Hello World“ schreiben. Man kann das „s“ jedoch durch andere Buchstaben ersetzen, wie zum Beispiel ein „p“ (Pointer) oder ein „x“ (Hex). Dadurch passieren andere Sachen. 

Doch nun stellt sich die Frage, was ist, wenn ich statt nur einem „%s“ mehrere davon hintereinander setze? Der Computer ist natürlich dumm und schaut am Stack, was da ist und gibt das aus. Wenn wir nun die Ausgabe vom Stack haben, können wir damit einfach weiterarbeiten. 

Was man jedoch auch machen kann, ist eine Payload, die so lange Sachen ausgibt, bis wir die richtige Stelle gefunden haben, wo der Stack Canary liegt. Man kann sich dann die Stelle XY ausgeben lassen und nutzt dies, um den Stack Canary zu umgehen.  

Senior Security Consultant/Penetration Tester | CEO

Home Seo Blog

Unsere Partner

Teile uns auf den sozialen Medien

Cookie Warnung

Akzeptieren Für statistische Zwecke und um bestmögliche Funktionalität zu bieten, speichert diese Website Cookies auf Ihrem Gerät. Das Speichern von Cookies kann in den Browser-Einstellungen deaktiviert werden. Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung von Cookies zu.