hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/one-gadget.md

3.2 KiB

One Gadget

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

One Gadget pozwala uzyskać powłokę zamiast używać system i "/bin/sh". One Gadget znajdzie w bibliotece libc sposób na uzyskanie powłoki (execve("/bin/sh")) używając tylko jednego adresu.
Jednak zazwyczaj istnieją pewne ograniczenia, najczęstsze i łatwe do ominięcia to [rsp+0x30] == NULL. Ponieważ kontrolujesz wartości wewnątrz RSP, musisz tylko wysłać kilka dodatkowych wartości NULL, aby ograniczenie zostało ominięte.

ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100

Aby uzyskać adres wskazany przez One Gadget, musisz dodać adres bazowy, w którym załadowana jest libc.

{% hint style="success" %} One Gadget to wielka pomoc w technikach Arbitrary Write 2 Exec i może upraszczać łańcuchy ROP, ponieważ musisz tylko wywołać jeden adres (i spełnić wymagania). {% endhint %}

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}