The schedule might change as the course progresses.

Monday Tuesday Wednesday Thursday Friday
Aug 21
First day of class (No class)
Aug 22
Aug 23
Aug 24
Aug 25
LEC: Warm-up: x86, Tools [slides]
TUT: Tut01: GDB/x86 [video]
Preparation: Read asm
Assigned: Lab01: Bomb Lab1
Aug 28
Aug 29
Aug 30
Aug 31
DUE: Lab 01
Sep 01
LEC: Warm-up: x86_64, Shellcode, Tools [slides]
TUT: Tut02: Pwndbg, Ghidra, Shellcode [video1], [video2], [video3]
Preparation: Read x86_64
Assigned: Lab02: Bomb Lab2 / Shellcode
Sep 04
Labor Day
Sep 05
Sep 06
Sep 07
DUE: Lab 02
Sep 08
LEC: Stack Overflow [slides]
TUT: Tut03: Writing Your First Exploit [video]
Preparation: Read Phrack #49-14
Assigned: Lab03: Stack Overflow
Sep 11
Sep 12
Sep 13
Sep 14
Sep 15
LEC: Writing Exploits with Pwntools [slides]
TUT: Tut03: Writing Exploits with pwntools [video]
Preparation: Read pwntools
Sep 18
Sep 19
Sep 20
Sep 21
DUE: Lab 03
Sep 22
LEC: Stack Protections [slides]
TUT: Tut04: Bypassing Stack Canaries [video]
Preparation: Read Bypassing StackShield
Assigned: Lab04: Bypassing Stack Protection
Sep 25
Sep 26
Sep 27
Sep 28
DUE: Lab 04
Sep 29
LEC: DEP and ASLR [slides]
TUT: Tut05: Format String Vulnerability [video]
Preparation: Read ASLR Smack & Laugh Reference
Assigned: Lab05: Bypassing DEP/ASLR
Oct 02
Oct 03
Oct 04
Oct 05
DUE: Lab 05
Oct 06
LEC: Return-oriented Programming (ROP) [slides]
TUT: Tut06: Return-oriented Programming (ROP) [video]
Preparation: Read ROP
Assigned: Lab06: Return-oriented Programming
Oct 09
Fall break
Oct 10
Fall break
Oct 11
Oct 12
Oct 13
LEC: Advanced ROP [slides]
TUT: Tut06: Advanced ROP [video]
Oct 16
Oct 17
Oct 18
Oct 19
DUE: Lab 06
Oct 20
LEC: Remote Exploitation, ROP against Remote Service [slides]
TUT: Tut07: Socket Programming in Python [video]
Assigned: Lab07: Remote Attacks
Oct 23
Oct 24
Oct 25
Oct 26
Oct 27
LEC: Fuzzing/Symbolic Execution [slides]
TUT: Tut07: ROP Against Remote Service [video1], [video2]
Oct 30
Oct 31
Nov 01
Nov 02
DUE: Lab 07
Nov 03
LEC: Integer Overflows, Race Conditions [slides]
TUT: Tut08: Logic Errors [video]
Assigned: Lab08: Miscellaneous Topics
Nov 06
Nov 07
Nov 08
Nov 09
DUE: Lab 08
Nov 10
LEC: Designing Heap Allocator [slides] [note] [whiteboard]
TUT: Tut09: Understanding Heap Bugs [video1], [video2]
Assigned: Lab09: Exploiting Heap Bugs
Nov 13
Nov 14
Nov 15
Nov 16
Nov 17
LEC: Exploiting Heap Allocator [slides]
TUT: Tut09: Exploiting Heap Allocators [video]
Nov 20
Nov 21
Nov 22
Nov 23
Nov 24
Nov 27
Nov 28
Nov 29
Nov 30
DUE: Lab 09
Dec 01
TUT: Tut10: Fuzzing
TUT: Tut10: Symbolic Execution
TUT: Tut10: Hybrid Fuzzing
Preparation: NSA Codebreaker Challenges'23
Assigned: Lab10: TKCTF (for 24h)
Dec 04
Dec 05
Dec 06
Dec 07
Final exam week
(No final!)
Dec 08
Final exam week
(No final!)
Dec 11
Final exam week
(No final!)
Dec 12
Final exam week
(No final!)
Dec 13
Final exam week
(No final!)
Dec 14
Final exam week
(No final!)
Dec 15