pwncollege
DojosLeaderboardCommunity
Back to cse466-f2026

Program Security

cse466-f2026
0/39 challenges completed

In the realm of cybersecurity, your journey mirrors that of a martial artist mastering the art of defense and attack. The “Program Security” module is where you will train in the ancient techniques of shellcoding and memory corruption. Like a skilled martial artist wielding precise strikes, you will learn to craft shellcode that slips past defenses with the agility of a shadow. You will also study memory corruption vulnerabilities, discovering how to exploit pinpoint weaknesses with the precision of a pressure point strike.

Shellcoding Resources

Shellcode Injection: Introduction
Video
Slides
Shellcode Injection: Common Challenges
Video
Slides
Shellcode Injection: Data Execution Prevention
Video
Slides
Shellcoding Tips and Tricks
Video
Slides
Further Reading

Shellcoding challenges

1
Ello Ackers
2
Syscall Smuggler
3
Syscall Shenanigans
4
Byte Budget
5
Clobbercode
6
Diverse Delivery
7
Pocket Payload
8
Micro Menace

Memory Corruption Resources

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
Memory Errors: Stack Canaries
Video
Slides
Memory Errors: ASLR
Video
Slides
Memory Errors: Causes of Disclosure
Video
Slides
Memory Errors: Tips and Tricks
Video
Slides
Memory Errors: The Global Offset Table
Video
Slides
Further Reading

Memory Corruption Challenges

9
Login Leakage Easy
10
Login Leakage Hard
11
Bounds Breaker Easy
12
Bounds Breaker Hard
13
Casting Catastrophy Easy
14
Casting Catastrophy Hard
15
Pointer Problems Easy
16
Pointer Problems Hard
17
Anomalous Array Easy
18
Anomalous Array Hard
19
Now You Got It Easy
20
Now You Got It Hard
21
Loop Lunacy Easy
22
Loop Lunacy Hard
23
Nosy Neighbor Easy
24
Nosy Neighbor Hard
25
Recursive Ruin Easy
26
Recursive Ruin Hard
27
Lingering Leftover Easy
28
Lingering Leftover Hard
29
Latent Leak Easy
30
Latent Leak Hard
31
Fork Foolery Easy
32
Fork Foolery Hard

Complex Corruption

Exploitation begins at the intersection of two core ideas: corrupting program memory and gaining control-flow. Memory corruption provides the foothold, allowing control over a program’s execution by overwriting critical data such as return addresses or other valuable pointers. Shellcode provides the payload, a carefully crafted sequence of instructions designed to carry out specific actions once execution is redirected. When combined, these concepts illustrate the foundation of software exploitation: not just crashing a program, but deliberately shaping its behavior to execute attacker-controlled code.

Complex Corruption Class Stream
Video
Memory Corruption Class Streams

Complex Corruption Challenges

33
Canary Conundrum Easy
34
Canary Conundrum Hard
35
Crafty Clobber Easy
36
Crafty Clobber Hard
37
Can It Fizz
38
Does It Buzz
39
Make It Fizzbuzz