WCU / Cybersecurity
~/CSC 472/Class 02/KP 21
Class 02 · KP 21 / 23

Symbols, PLT, and GOT (Preview)

  • Symbols: names for functions/globals (main, system). nm, info functions, or pwntools elf.symbols['main'] resolve them.
  • PLT (Procedure Linkage Table): small stubs used to call external library functions (e.g. printf@plt).
  • GOT (Global Offset Table): a writable table of resolved library addresses that the PLT jumps through.
Key Takeaway

Because the GOT is writable, overwriting a GOT entry can redirect a library call to attacker-controlled code — a technique we return to after we cover ret2libc and format strings.