pwn.college
DojosLeaderboardCommunity
LoginRegister
Back to intro-to-cybersecurity

Binary Exploitation

intro-to-cybersecurity
0/21 challenges completed

Binary code is the truest version of source code, and the exploitation of binary code is one of the most advanced arts in cybersecurity. Here, you will learn this art: the first step in a subdiscipline that will blow your mind.

Corrupting Memory

Memory Errors: Introduction
Video
Slides
Memory Errors: High-level Problems
Video
Slides
Memory Errors: Smashing the Stack
Video
Slides
Memory Errors: Causes of Corruption 1
Video
Slides
Memory Errors: Causes of Corruption 2
Video
Slides
1
Your First Overflow (easy)
2
Your First Overflow (hard)
3
Precision (easy)
4
Precision (hard)
5
Variable Control (easy)
6
Variable Control (hard)
7
Control Hijack (easy)
8
Control Hijack (hard)
9
Tricky Control Hijack (easy)
10
Tricky Control Hijack (hard)
Memory Errors: Stack Canaries
Video
Slides
Memory Errors: ASLR
Video
Slides
11
PIEs (easy)
12
PIEs (hard)

Writing Shellcode

Shellcode Injection: Introduction
Video
Slides
Shellcode Injection: Common Challenges
Video
Slides
Useful Resources
13
String Lengths (easy)
14
String Lengths (hard)
15
Basic Shellcode
16
NOP Sleds
17
NULL-Free Shellcode

Using Shellcode

Exploitation: Introduction
Video
Slides
Exploitation: Hijacking to Shellcode
Video
Slides
18
Hijack to (Mapped) Shellcode (easy)
19
Hijack to (Mapped) Shellcode (hard)
20
Hijack to Shellcode (easy)
21
Hijack to Shellcode (hard)
Further Learning