Nadpisywanie RIP

https://chacker.pl/

Wcześniej skupiliśmy się na eksploatacji 32-bitowych plików binarnych, ale w tym rozdziale skupiamy się na eksploatacji 64-bitowych plików binarnych. Pierwszą różnicą, którą możesz zauważyć, jest to, że nazwy rejestrów zaczynają się od R. Aby wykorzystać lukę w zabezpieczeniach związaną z przepełnieniem bufora, musimy nadpisać RIP. Podczas uruchamiania gdb otwórz nowe okno i połącz się z podatnym serwerem TCP, a następnie wyślij 200 bajtów za pomocą polecenia wzorca cyklicznego Pwntools:

UWAGA: Jeśli polecenie cykliczne nie zostanie znalezione, zainstaluj Pwntools za pomocą sudo, postępując zgodnie z przewodnikiem instalacji.

W oknie, w którym działa gdb, powinieneś zobaczyć naruszenie segmentacji. Użyjmy wbudowanego polecenia wyszukiwania wzorców GEF, aby zobaczyć, ile bajtów należy zapisać przed nadpisaniem RIP:

UWAGA: Po awarii programu pamiętaj, aby uruchomić killall -9 vuln po wyjściu z gdb, a następnie ponownie uruchomić gdb z tymi samymi parametrami.

Zacznijmy pisać nasz exploit z wiedzą, którą mamy do tej pory:

Zapisz i uruchom skrypt Pythona, a w oknie gdb powinieneś móc nadpisać RIP czterema literami B:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *