pwn.college
DojosLeaderboardCommunity
LoginRegister
Back to program-security

Return Oriented Programming

program-security
0/30 challenges completed

Picture yourself as a digital maestro, orchestrating a symphony of code in a vast digital realm. However, there’s a twist: you don’t get to pen down your own notes. Instead, you're given a legacy of existing code snippets, scattered across the system. This is the essence of Return Oriented Programming (ROP) exploits! Using nothing but the remnants of the system’s own code, you craft a cunning composition that dances to your own tune, bypassing modern security measures with elegance and stealth.

Each snippet is like a musical phrase, ending in a "return" instruction, whisking you off to the next snippet in your clandestine concerto. With each leap and bound, you weave a nefarious narrative, circumventing security checks and executing unauthorized actions, all while under the unsuspecting nose of the system’s defenses.

ROP is not just a hack; it’s a masterpiece of unauthorized orchestration, a ballet of borrowed instructions, choreographed with precision to achieve your clandestine objectives. With ROP, you step into a realm where every byte is a beat, and every return is a rhythm, embarking on an exhilarating journey of exploitation and discovery.

Return Oriented Programming Resources

Return Oriented Programming: Introduction
Video
Slides
Return Oriented Programming: Binary Lego
Video
Slides
Return Oriented Programming: Techniques
Video
Slides
Return Oriented Programming: Complications
Video
Slides

Calling Functions

1
Loose Link (Easy)
2
Loose Link (Hard)
3
Call Chain (Easy)
4
Call Chain (Hard)
5
Chain of Command (Easy)
6
Chain of Command (Hard)

Chaining Gadgets

7
Stop, Pop, and ROP (Easy)
8
Stop, Pop, and ROP (Hard)
9
Stop, Pop and ROP II (Easy)
10
Stop, Pop, and ROP II (Hard)
11
Indirect Invocation (Easy)
12
Indirect Invocation (Hard)

Leveraging Libc

13
Leaky Libc (Easy)
14
Leaky Libc (Hard)
15
Putsception (Easy)
16
Putsception (Hard)

Stack Pivoting

17
Pivotal Prelude (Easy)
18
Pivotal Prelude (Hard)
19
Pivotal Pointer (Easy)
20
Pivotal Pointer (Hard)
21
Pivotal Payload (Easy)
22
Pivotal Payload (Hard)
23
Pivotal Pursuit (Easy)
24
Pivotal Pursuit (Hard)

Exploitation

25
Guarded Gadgets (Easy)
26
Guarded Gadgets (Hard)
27
ROP Roulette (Easy)
28
ROP Roulette (Hard)
29
Libc Lottery (Easy)
30
Libc Lottery (Hard)