Overwriting a freed chunk
Last updated
Last updated
Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Kilka proponowanych technik eksploatacji sterty wymaga możliwości nadpisania wskaźników wewnątrz zwolnionych fragmentów. Celem tej strony jest podsumowanie potencjalnych podatności, które mogą umożliwić uzyskanie takiego dostępu:
Jeśli atakujący może zapisać informacje w zwolnionym fragmencie, może to wykorzystać do nadpisania potrzebnych wskaźników.
Jeśli atakujący może zwolnić
dwa razy ten sam fragment (zwolnić inne fragmenty pomiędzy potencjalnie) i sprawić, że będzie 2 razy w tym samym kubełku, użytkownik będzie mógł przydzielić później ten fragment, zapisać potrzebne wskaźniki a następnie ponownie go przydzielić, co wywoła akcje związaną z przydzieleniem fragmentu (np. atak na szybki kubełek, atak na tcache...)
Możliwe jest przepełnienie przydzielonego fragmentu mającego następnie zwolniony fragment i zmodyfikowanie niektórych nagłówków/wskaźników.
W tym przypadku możliwe byłoby zmodyfikowanie rozmiaru następnego fragmentu w pamięci. Atakujący mógłby to wykorzystać, aby przydzielić większy rozmiar przydzielonego fragmentu, a następnie zwolnić
go, sprawiając, że fragment zostanie dodany do kubełka o innym rozmiarze (większym), a następnie przydzielić fałszywy rozmiar, a atakujący będzie miał dostęp do fragmentu o większym rozmiarze niż w rzeczywistości, umożliwiając tym samym sytuację nakładania się fragmentów, która jest eksploatowalna w ten sam sposób co przepełnienie sterty (sprawdź poprzednią sekcję).
Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)