Introduction to Exploit Development

Scoreboard · Submit Flags · Details

I: Command Injection

ED 30: Linux Virtual Machine  15
ED 101: Essential Linux 15 + 10 extra
LJ: Linux Journey 83 extra
W 101: Linux command line 35 extra
ED 102. Command Injection 20 + 40 extra
ED 103: SQL Injection 30 + 155 extra
ED 104: CMD Injection 15 + 25 extra
ED 105: Server Side Template Injection (SSTI) 35 extra
ED 106: PHP-FPM Command Injection 15 extra

II: Binary Exploits for Linux

ED 201: Linux Buffer Overflow With Command Injection  15
ED 202: Linux Buffer Overflow Without Shellcode  40 + 75 extra
ED 203: Linux Buffer Overflow With Listening Shell  15 + 30 extra
ED 204: Exploiting a Format String Vulnerability  20
ED 205: Very Simple Heap Overflow  10 + 20 extra
ED 206: Heap Overflow via Data Overwrite  10 + 35 extra
ED 207: Linux Buffer Overflow with ROP (requires VMware)  15 extra
ED 210: Exploiting a Race Condition  10 extra
ED 220: Intro to 64-bit Assembler  40 extra
ED 230: Hardening ELF Binaries  15 extra

III: Binary Exploits for Windows

PMA 41: Windows 10 or 11 with Analysis Tools (recommended)20
H 2: Windows 2016 Server Virtual Machine (not recommended)  15
 
ED 308: Exploiting "Vulnerable Server" on Windows     Google Cloud version  25 + 25 extra
ED 309: Defeating DEP with ROP  20 extra
ED 301: Windows Stack Protection I: Assembly Code  15
ED 302: Windows Stack Protection II: Exploit Without ASLR  15
ED 303: Windows Stack Protection III: Limitations of ASLR  15 extra
H 540: RDP and Old Passwords  15 extra
ED 310: Windows Mitigations  10 extra
ED 318: Exploiting Easy RM to MP3 Converter on Windows with ASLR  30 exta
ED 319: SEH-Based Stack Overflow Exploit · Windows 10 version  20 + 45 extra
ED 330: C# Dot Net  20 extra
ED 331: Dot Net Reflector  45 extra
ED 340: Making Custom Shellcode  20 extra

IV: ARM Exploits

Preparing ARM Systems

ED 40: Linux on ARM64 Hardware  15 extra
ED 41: Emulating ARM Machines  15 extra

Exploiting ARM Systems

ED 440: Exploiting Linux on 32-Bit ARM  15 extra
ED 441: Exploiting Linux on 64-Bit ARM  15 extra

Old Projects (Not Recommended)

ED 413: ARM Shellcode on the Pi  30 extra
ED 414: Self-Modifying ARM Shellcode on the Pi  20 extra
ED 420: Jailbreaking an iPhone with Checkra.in  15 extra
ED 421: Buffer Overflow on an iPhone  20 extra

V: Extras

R 10: Rust Basics, Overflows, & Injection  35 extra
R 20: Rust Dangling Pointers & Memory Leaks  35 extra
ML 100: Machine Learning with TensorFlow  65 extra
ML 101: Computer Vision  10 extra
ML 102: Breaking a CAPTCHA  10 extra
ML 103: Deblurring Images  40 extra

Assembly Language

Don't submit these projects in Canvas
use the scoring system at the bottom of this page

ASM 100: Basics  69 extra
ASM 104: Bases & Printing  40 extra
ASM 105: ASCII  20 extra
ASM 110: Gdb  30 extra
ASM 120: Files  55 extra
ASM 200: Caesar Cipher  35 extra
ASM 210: XOR  20 extra
Scores archived 10-5-2021

Docker and Kubernetes

H 150: Introduction to Docker  20 extra
H 151: Making a Custom Docker Container  10 extra
H 140: Hello Kubernetes  20 extra
H 141: Setup minikube and kubectl  15 extra
H 142: Managing Pods  15 extra
H 143: Exploring Pods  10 extra

Old scores from: DEF CON 31 · 127 S22 · WASTC Sum22 · CCC Sum22 · WC Sum22

Posted 6-8-25
PMA 41 added to replace ED 32 6-12-25