Print Stack Canary

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Powiększanie wydruku stosu

Wyobraź sobie sytuację, w której program podatny na przepełnienie stosu może wykonać funkcję puts wskazującą na część przepełnionego stosu. Atakujący wie, że pierwszy bajt kanarka to bajt nullowy (\x00), a reszta kanarka to losowe bajty. Następnie atakujący może stworzyć przepełnienie, które nadpisuje stos aż do pierwszego bajtu kanarka.

Następnie atakujący wywołuje funkcję puts na środku ładunku, co spowoduje wydrukowanie całego kanarka (oprócz pierwszego bajtu nullowego).

Dzięki tym informacjom atakujący może stworzyć i wysłać nowy atak, znając kanarka (w tej samej sesji programu).

Oczywiście ta taktyka jest bardzo ograniczona, ponieważ atakujący musi być w stanie wydrukować zawartość swojego ładunku, aby wyciec kanarka, a następnie móc stworzyć nowy ładunek (w tej samej sesji programu) i wysłać rzeczywiste przepełnienie bufora.

Przykłady CTF:

Dowolne odczytywanie

Dzięki dowolnemu odczytowi jak ten dostarczany przez ciągi formatujące, możliwe może być wycieknięcie kanarka. Sprawdź ten przykład: https://ir0nstone.gitbook.io/notes/types/stack/canaries i przeczytaj o nadużywaniu ciągów formatujących do odczytywania dowolnych adresów pamięci w:

pageFormat Strings
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated