ScheduleΒΆ

The schedule might change as the course progresses.

Monday Tuesday Wednesday Thursday Friday
May 18
May 19
May 20
May 21
May 22
First module release
LEC: Warm-up: x86, Tools [slides]
TUT: Tut01: GDB/x86
Preparation: Read asm
Assigned: Lab01: Bomb Lab1
May 25
Memorial Day
May 26
May 27
May 28
DUE: Lab 01
May 29
LEC: Warm-up: x86_64, Shellcode, Tools [slides]
TUT: Tut02: Pwndbg, Ghidra, Shellcode
Preparation: Read x86_64
Assigned: Lab02: Bomb Lab2 / Shellcode
Jun 01
Jun 02
Jun 03
Jun 04
DUE: Lab 02
Jun 05
LEC: Stack Overflow [slides]
TUT: Tut03: Writing Your First Exploit
Preparation: Read Phrack #49-14
Assigned: Lab03: Stack Overflow
Jun 08
Jun 09
Jun 10
Jun 11
Jun 12
LEC: Writing Exploits with Pwntools [slides]
TUT: Tut03: Writing Exploits with pwntools
Preparation: Read pwntools
Jun 15
Jun 16
Jun 17
Jun 18
DUE: Lab 03
Jun 19
Juneteenth
LEC: Stack Protections [slides]
TUT: Tut04: Bypassing Stack Canaries
Preparation: Read Bypassing StackShield
Assigned: Lab04: Bypassing Stack Protection
Jun 22
Jun 23
Jun 24
Jun 25
DUE: Lab 04
Jun 26
LEC: DEP and ASLR [slides]
TUT: Tut05: Format String Vulnerability
Preparation: Read ASLR Smack & Laugh Reference
Assigned: Lab05: Bypassing DEP/ASLR
Jun 29
Jun 30
Jul 01
Jul 02
DUE: Lab 05
Jul 03
Independence Day observed
LEC: Return-oriented Programming (ROP) [slides]
TUT: Tut06: Return-oriented Programming (ROP)
Preparation: Read ROP
Assigned: Lab06: Return-oriented Programming
Jul 06
Jul 07
Jul 08
Jul 09
Jul 10
LEC: Advanced ROP [slides]
TUT: Tut06: Advanced ROP
Jul 13
Jul 14
Jul 15
Jul 16
DUE: Lab 06
Jul 17
LEC: Remote Exploitation [slides]
TUT: Tut07: Socket Programming in Python
Assigned: Lab07: Remote Attacks
Jul 20
Jul 21
Jul 22
Jul 23
Jul 24
TUT: Tut07: ROP Against Remote Service
Jul 27
Jul 28
Jul 29
Jul 30
DUE: Lab 07
Jul 31
Aug 03
Final exam week
(No final!)
Aug 04
Final exam week
(No final!)
Aug 05
Final exam week
(No final!)
Aug 06
Final exam week
(No final!)
Aug 07