Przekierowywanie wskaźników
Reading time: 2 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Wskaźniki do ciągów
Jeśli wywołanie funkcji ma użyć adresu ciągu, który znajduje się na stosie, możliwe jest nadużycie przepełnienia bufora, aby nadpisać ten adres i umieścić adres innego ciągu wewnątrz binarnego.
Jeśli na przykład wywołanie funkcji system
ma użyć adresu ciągu do wykonania polecenia, atakujący może umieścić adres innego ciągu na stosie, export PATH=.:$PATH
i stworzyć w bieżącym katalogu skrypt o nazwie pierwszej litery nowego ciągu, ponieważ zostanie on wykonany przez binarny.
Możesz znaleźć przykład tego w:
- 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, zmień adres na ciąg flag w stosie, aby został wydrukowany przez
puts
Wskaźniki do funkcji
To samo co wskaźnik do ciągu, ale stosuje się do funkcji. Jeśli stos zawiera adres funkcji, która ma być wywołana, możliwe jest zmienienie go (np. aby wywołać system
).
Możesz znaleźć przykład w:
Odniesienia
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.