Skip to main content

one_gadget

Command-line tool that finds one-gadget RCE entry points in glibc binaries and outputs their register constraints clearly.

Technical Architecture & Overview

one_gadget is an open-source tool that finds one-gadget execve("/bin/sh", ...) candidates in glibc binaries. It reports the register and memory constraints required for each gadget to succeed, making it a standard tool in modern CTF and exploit development workflows targeting glibc-based systems.

Targeted Technical Use Cases

Finding one-gadget RCE candidates in specific glibc versions during exploit development.

Evaluation & Trade-offs

Core Strengths

  • +Standard tool for one-gadget discovery in CTF and exploit development workflows.
  • +Reports precise register and memory constraints for each candidate gadget.
  • +Supports a wide range of glibc versions with regular updates.

Trade-Offs & Limitations

  • -Linux-only and specific to glibc; does not work with musl or other libc implementations.
  • -Gadget constraints may not be satisfiable in a given exploit context.

Defensive Security Application

Assessing the feasibility of one-gadget RCE in specific glibc versions to evaluate ASLR and libc hardening.

Frequently Asked Questions

What is one_gadget?

one_gadget is an open-source tool that finds one-gadget execve("/bin/sh", ...) candidates in glibc binaries. It reports the register and memory constraints required for each gadget to succeed, making it a standard tool in modern CTF and exploit development workflows targeting glibc-based systems.

What is one_gadget used for?

Finding one-gadget RCE candidates in specific glibc versions during exploit development.

What are the strengths of one_gadget?
  • +Standard tool for one-gadget discovery in CTF and exploit development workflows.
  • +Reports precise register and memory constraints for each candidate gadget.
  • +Supports a wide range of glibc versions with regular updates.
What are the limitations of one_gadget?
  • +Linux-only and specific to glibc; does not work with musl or other libc implementations.
  • +Gadget constraints may not be satisfiable in a given exploit context.
How is one_gadget used defensively?

Assessing the feasibility of one-gadget RCE in specific glibc versions to evaluate ASLR and libc hardening.