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

3.3 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 permet d'obtenir un shell au lieu d'utiliser system et "/bin/sh". One Gadget trouvera à l'intérieur de la bibliothèque libc un moyen d'obtenir un shell (execve("/bin/sh")) en utilisant juste une adresse.
Cependant, normalement il y a certaines contraintes, les plus courantes et faciles à éviter sont comme [rsp+0x30] == NULL Comme vous contrôlez les valeurs à l'intérieur du RSP, vous devez juste envoyer quelques valeurs NULL supplémentaires pour éviter la contrainte.

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

Pour l'adresse indiquée par One Gadget, vous devez ajouter l'adresse de base où libc est chargée.

{% hint style="success" %} One Gadget est une grande aide pour les techniques Arbitrary Write 2 Exec et peut simplifier les chaînes ROP car vous n'avez besoin d'appeler qu'une seule adresse (et de remplir les exigences). {% endhint %}

{% hint style="success" %} Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}