2.0 KiB
Preusmeravanje pokazivača
{{#include ../../banners/hacktricks-training.md}}
Pokazivači na stringove
Ako poziv funkcije koristi adresu stringa koji se nalazi na steku, moguće je zloupotrebiti prelivanje bafera da se prepiše ova adresa i stavi adresa drugog stringa unutar binarnog fajla.
Na primer, ako poziv funkcije system
treba da koristi adresu stringa za izvršavanje komande, napadač može postaviti adresu drugog stringa na steku, export PATH=.:$PATH
i kreirati u trenutnom direktorijumu skriptu sa imenom prvog slova novog stringa jer će ovo biti izvršeno od strane binarnog fajla.
Možete pronaći primer ovoga na:
- 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
- 32bit, promeniti adresu na string sa zastavicama na steku tako da se odštampa pomoću
puts
Pokazivači na funkcije
Isto kao i pokazivač na string, ali se primenjuje na funkcije, ako stek sadrži adresu funkcije koja će biti pozvana, moguće je promeniti je (npr. da pozove system
).
Možete pronaći primer na:
Reference
{{#include ../../banners/hacktricks-training.md}}