# Pointer Redirecting {{#include ../../banners/hacktricks-training.md}} ## String-Pointer Wenn ein Funktionsaufruf eine Adresse eines Strings verwenden soll, der sich im Stack befindet, ist es möglich, den Buffer Overflow auszunutzen, um **diese Adresse zu überschreiben** und eine **Adresse zu einem anderen String** im Binärprogramm zu setzen. Wenn beispielsweise ein **`system`** Funktionsaufruf die **Adresse eines Strings zur Ausführung eines Befehls** verwenden soll, könnte ein Angreifer die **Adresse eines anderen Strings im Stack platzieren**, **`export PATH=.:$PATH`** und im aktuellen Verzeichnis ein **Skript mit dem Namen des ersten Buchstabens des neuen Strings** erstellen, da dies vom Binärprogramm ausgeführt wird. Ein **Beispiel** dafür finden Sie unter: - [https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/strptr.c](https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/strptr.c) - [https://guyinatuxedo.github.io/04-bof_variable/tw17_justdoit/index.html](https://guyinatuxedo.github.io/04-bof_variable/tw17_justdoit/index.html) - 32bit, Adresse zum Flags-String im Stack ändern, damit er von `puts` ausgegeben wird ## Funktionszeiger Ähnlich wie beim String-Pointer, aber auf Funktionen angewendet. Wenn der **Stack die Adresse einer Funktion** enthält, die aufgerufen werden soll, ist es möglich, diese **zu ändern** (z.B. um **`system`** aufzurufen). Ein Beispiel finden Sie unter: - [https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/funcptr.c](https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/funcptr.c) ## Referenzen - [https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/NOTES.md#pointer-redirecting](https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/NOTES.md#pointer-redirecting) {{#include ../../banners/hacktricks-training.md}}