One Gadget
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @hacktricks_live。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
基本信息
One Gadget允许在不使用system和**"/bin/sh"的情况下获得一个shell。One Gadget将在libc库中找到一种方法来使用只一个地址获得一个shell(execve("/bin/sh"))。
然而,通常会有一些限制条件,最常见且易于避免的是像[rsp+0x30] == NULL这样的限制条件。由于您可以控制RSP**中的值,因此您只需发送更多的NULL值以避免这种限制条件。

要找到 One Gadget 指示的地址,您需要加上 libc 加载的基地址。
One Gadget 对于任意写入执行技术非常有帮助,可能会简化 ROP 链,因为您只需要调用一个地址(并满足要求)。
ARM64
github 仓库提到该工具支持ARM64,但在 Kali 2023.3 的 libc 中运行时找不到任何 gadget。
Angry Gadget
来自github 仓库:受 OneGadget 启发,这个工具用 Python 编写,并使用 angr 来测试执行 execve('/bin/sh', NULL, NULL) 的 gadget 的约束条件。
如果您已经尝试过 One Gadget 中的所有 gadget,Angry Gadget 提供了更多带有复杂约束条件的 gadget!
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
其他支持HackTricks的方式:
如果您想在HackTricks中看到您的公司广告或下载PDF版HackTricks,请查看订阅计划!
加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @hacktricks_live。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
最后更新于