mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
3 KiB
3 KiB
One Gadget
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs
- 加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
基本信息
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对于任意写入执行技术非常有帮助,可能会简化ROP链,因为您只需要调用一个地址(并满足要求)。 {% endhint %}
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 发现PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群组 或 电报群组 或 关注我们的Twitter 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。