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

3 KiB
Raw Blame History

One Gadget

{% hint style="success" %} 学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}

基本信息

One Gadget 允许获取一个 shell而不是使用 system"/bin/sh"One Gadget 将在 libc 库中找到一些方法来获取一个 shell (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 是 任意写入 2 执行技术的极大帮助,并且可能 简化 ROP 链,因为您只需调用一个地址(并满足要求)。 {% endhint %}

{% hint style="success" %} 学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}