# One Gadget {{#include ../../banners/hacktricks-training.md}} ## Basiese Inligting [**One Gadget**](https://github.com/david942j/one_gadget) stel jou in staat om 'n shell te verkry in plaas van om **system** en **"/bin/sh"** te gebruik. **One Gadget** sal binne die libc biblioteek 'n manier vind om 'n shell te verkry (`execve("/bin/sh")`) met net een **adres**.\ Echter, normaalweg is daar 'n paar beperkings, die mees algemene en maklik om te vermy is soos `[rsp+0x30] == NULL`. Aangesien jy die waardes binne die **RSP** beheer, hoef jy net nog 'n paar NULL waardes te stuur sodat die beperking vermy word. ![](<../../images/image (615).png>) ```python ONE_GADGET = libc.address + 0x4526a rop2 = base + p64(ONE_GADGET) + "\x00"*100 ``` Na die adres aangedui deur One Gadget moet jy **die basisadres waar `libc`** gelaai word **byvoeg**. > [!TIP] > One Gadget is 'n **groot hulp vir Arbitrary Write 2 Exec tegnieke** en kan **ROP kettings vereenvoudig** aangesien jy net een adres hoef te bel (en die vereistes moet nakom). {{#include ../../banners/hacktricks-training.md}}