one_gadget

https://chacker.pl/

One_gadgets znajdują się w bibliotece libc i zapewniają prosty sposób uzyskania powłoki poprzez przeskoczenie do pojedynczego gadżetu w celu wykonania execve(„/bin/sh”, NULL, NULL). Te magiczne gadżety możemy znaleźć na dwa sposoby: ręcznie za pomocą ciągów znaków i objdump lub za pomocą narzędzia one_gadget.

Ręczne użycie ciągów i objdump

Najpierw użyjmy ciągów znaków, aby uzyskać adres przesunięcia /bin/sh w docelowej bibliotece libc:

Następnie możemy użyć objdump do wyszukania odniesień do adresu ciągu /bin/sh:

Jedynym ograniczeniem jest to, że w momencie wykonania r12 i r13 muszą być równe NULL. W ten sposób rejestry rdi, rsi i rdx będą zawierać odpowiednio wartości /bin/sh, NULL, NULL.

Dodaj komentarz

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