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

3.1 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 omogućava dobijanje shel-a umesto korišćenja system i "/bin/sh". One Gadget će pronaći unutar libc biblioteke neki način da dobije shell (execve("/bin/sh")) koristeći samo jednu adresu.
Međutim, obično postoje neka ograničenja, najčešća i lako izbegnuta su kao [rsp+0x30] == NULL. Kako kontrolišete vrednosti unutar RSP, samo treba da pošaljete još nekoliko NULL vrednosti kako bi se ograničenje izbeglo.

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

Da biste došli do adrese koju označava One Gadget, potrebno je dodati osnovnu adresu gde je libc učitana.

{% hint style="success" %} One Gadget je velika pomoć za Arbitrary Write 2 Exec tehnike i može ** pojednostaviti ROP lance** jer je potrebno pozvati samo jednu adresu (i ispuniti zahteve). {% endhint %}

{% 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 %}