WCU / Cybersecurity
Home
CSC 471
CSC 472
Search
/
~
/
CSC 472
/
Class 07
CSC 472 · Class 07
Return-Oriented Programming and ret2libc
18 knowledge points. Work through them in order, or jump to any topic.
//
Knowledge Points
01
Recap: We Could Just Inject Shellcode... Until Now
→
02
Code Reuse: The Big Idea
→
03
ret2libc: Call system("/bin/sh") Without Shellcode
→
04
32-bit ret2libc: Arguments Live on the Stack (cdecl)
→
05
64-bit ret2libc: Arguments Go in Registers (System V)
→
06
What Is a Gadget?
→
07
A ROP Chain on the Stack
→
08
Why "pop rdi ; ret" Is the Star Gadget
→
09
Finding Gadgets: ROPgadget and ropper
→
10
pwntools Does the Bookkeeping: ROP()
→
11
The x86-64 movaps Alignment Trap
→
12
one_gadget: One Address, Instant Shell
→
13
When Gadgets Are Scarce: ret2csu
→
14
ROP Is Turing-Complete; Its Cousins JOP and COP
→
15
Defenses Against Code Reuse
→
16
Attacker vs Defender: The Arms Race
→
17
Tie-In to Lab 4
→
18
Summary
→