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

3.7 KiB
Raw Blame History

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 дозволяє отримати оболонку замість використання system та "/bin/sh". One Gadget знайде в бібліотеці libc спосіб отримати оболонку (execve("/bin/sh")), використовуючи лише одну адресу.
Однак, зазвичай є деякі обмеження, найпоширеніші та легкі для уникнення такі, як [rsp+0x30] == NULL. Оскільки ви контролюєте значення всередині RSP, вам просто потрібно надіслати ще кілька значень NULL, щоб уникнути обмеження.

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

До адреси, вказаної One Gadget, потрібно додати базову адресу, де завантажено libc.

{% hint style="success" %} One Gadget є чудовою допомогою для технік Arbitrary Write 2 Exec і може спростити ROP ланцюги, оскільки вам потрібно лише викликати одну адресу (і виконати вимоги). {% endhint %}

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримати HackTricks
{% endhint %}