百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
O

one_gadget

> 编程语言
开源

在 libc.so.6 中查找一个 gadget RCE 的最佳工具

2.3K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

在 libc.so.6 中查找一个 gadget RCE 的最佳工具

OneGadget

在解决 CTF pwn 任务时,我们通常希望获得一个 gadget RCE: 一个单一地址 然后,它跳转到调用 execve("/bin/sh", NULL, NULL)。 这个插件会为您找到这些信息,这样您就不必每次都通过 objdump 或 IDA Pro 进行搜索。 时间:微笑: 将其指向一个 libc -- one_gadget /path/to/libc -- 然后享受魔力 :laughing:

安装

在 RubyGems.org 上可用!

bash
$ gem install one_gadget

支持的体系架构

  • i386
  • amd64 (x86-64)
  • aarch64 (ARMv8)
  • arm (ARMv7, A32/Thumb-2)
  • riscv64 (RV64GC)
  • mips (MIPS32 o32, 大端和小端)

实施

OneGadget 以象征性的方式执行每个候选地址周围的代码,以确定 gadget 如何工作。 gadget 通过从每个 exec/posix_spawn 调用开始,沿着条件分支的双向路径进行遍历,来进行搜索。当 gadget 只能通过某个分支被访问时,该决策会显示为额外的约束,例如 x2 == 0x1。 关于我如何开发此工具的文章可以在 我的博客 中找到。

约束条件只有在完整的情况下才有价值,因此此仓库中提供的工具通过运行来进行验证。Aletheia在活动进程中加载 libc,精确执行工具的约束条件要求,对它们未提及的每个寄存器和页进行毒化,跳转到偏移量,并要求真实的 /bin/sh 返回并列出根目录。如果工具的约束条件列表缺少某些内容,则会在该处失败,而不是通过运气通过,这就是如何发现多个缺失的约束条件的原因。

…
…

给定 BuildID

…

这颗宝石包含了最有可能被要求的库函数 - gli

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rubyctfexploitgadgetglibc

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言