pwncollege
DojosLeaderboardCommunity
Back to cse466-f2025

Program Security

cse466-f2025
0/41 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 Class Streams

Follow along with a live class with the same demo the instructor used.

Cooking with Canaries Livestream
Video
9
Cooking with Canaries Demo
Optional

Memory Corruption Challenges

10
Login Leakage Easy
11
Login Leakage Hard
12
Bounds Breaker Easy
13
Bounds Breaker Hard
14
Casting Catastrophy Easy
15
Casting Catastrophy Hard
16
Pointer Problems Easy
17
Pointer Problems Hard
18
Anomalous Array Easy
19
Anomalous Array Hard
20
Now You Got It Easy
21
Now You Got It Hard
22
Loop Lunacy Easy
23
Loop Lunacy Hard
24
Nosy Neighbor Easy
25
Nosy Neighbor Hard
26
Recursive Ruin Easy
27
Recursive Ruin Hard
28
Lingering Leftover Easy
29
Lingering Leftover Hard
30
Latent Leak Easy
31
Latent Leak Hard
32
Fork Foolery Easy
33
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
34
Complex Corruption Demo
Optional

Complex Corruption Challenges

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