2.4 KiB
Użycie po zwolnieniu
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.
Podstawowe informacje
Jak sugeruje nazwa, ta podatność występuje, gdy program przechowuje pewną przestrzeń w stercie dla obiektu, zapisuje tam pewne informacje, zwalnia ją, ponieważ nie jest już potrzebna, a następnie ponownie uzyskuje do niej dostęp.
Problem polega na tym, że nie jest to nielegalne (nie będzie błędów), gdy dostęp do zwolnionej pamięci jest uzyskiwany. Dlatego jeśli program (lub atakujący) zdoła przydzielić zwolnioną pamięć i przechować dowolne dane, gdy zwolniona pamięć jest uzyskiwana z początkowego wskaźnika, te dane zostaną nadpisane, powodując podatność zależną od wrażliwości danych, które były pierwotnie przechowywane (jeśli był to wskaźnik funkcji, która miała zostać wywołana, atakujący mógłby go teraz kontrolować).
Inne odnośniki i przykłady
- https://8ksec.io/arm64-reversing-and-exploitation-part-2-use-after-free/
- ARM64. Użycie po zwolnieniu: Wygenerowanie użytkownika, zwolnienie go, ponowne użycie tego samego fragmentu nadpisując pozycję hasła użytkownika z poprzedniego. Ponowne użycie użytkownika do obejścia sprawdzenia hasła