ScheduleΒΆ
The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff (mailto:staff). Please visit our scoreboard at the submission web site and importantly, ask any questions (and things to discuss) with colleagues and staffs via Piazza.
| Monday | Tuesday | Wednesday | Thursday | Friday | 
| Jan 06 First day of class (No class) | Jan 07 | Jan 08 | Jan 09 | Jan 10 LEC: Warm-up: x86, Tools TUT: Tut01: GDB/x86 Preperation: Read asm Assigned: Lab01: Bomb Lab1 | 
| Jan 13 REC: Lab 01 | Jan 14 | Jan 15 REC: Lab 01 | Jan 16 DUE: Lab 01 | Jan 17 LEC: Warm-up: x86_64, Shellcode, Tools TUT: Tut02: Pwndbg, Ghidra, Shellcode Preperation: Read x86_64 Assigned: Lab02: Bomb Lab2 / Shellcode | 
| Jan 20 Martin Luther King, Jr | Jan 21 | Jan 22 REC: Lab 02 | Jan 23 DUE: Lab 02 | Jan 24 LEC: Writing exploits TUT: Tut03: Writing Your First Exploit Preperation: Read Phrack #49-14 Assigned: Lab03: Stack Overflow | 
| Jan 27 REC: Lab 03 | Jan 28 | Jan 29 REC: Lab 03 | Jan 30 | Jan 31 LEC: Exploiting stack overflows TUT: Tut03: Writing Exploits with pwntools Preperation: Read pwntools | 
| Feb 03 REC: Lab 03 | Feb 04 | Feb 05 REC: Lab 03 | Feb 06 DUE: Lab 03 | Feb 07 LEC: Stack Protections TUT: Tut04: Bypassing Stack Canaries Preperation: Read Bypassing StackShield Assigned: Lab04: Bypassing Stack Protection | 
| Feb 10 REC: Lab 04 | Feb 11 | Feb 12 REC: Lab 04 | Feb 13 DUE: Lab 04 | Feb 14 LEC: DEP and ASLR TUT: Tut05: Format String Vulnerability Preperation: Read ASLR Smack & Laugh Reference Assigned: Lab05: Bypassing DEP/ASLR | 
| Feb 17 REC: Lab 05 | Feb 18 | Feb 19 REC: Lab 05 | Feb 20 DUE: Lab 05 | Feb 21 LEC: Return-oriented Programming (ROP) TUT: Tut06: Return-oriented Programming (ROP) Preperation: Read ROP Assigned: Lab06: Return-oriented Programming | 
| Feb 24 REC: Lab 06 | Feb 25 | Feb 26 REC: Lab 06 | Feb 27 | Feb 28 LEC: Advanced ROP TUT: Tut06: Advanced ROP | 
| Mar 02 REC: Lab 06 | Mar 03 | Mar 04 REC: Lab 06 | Mar 05 DUE: Lab 06 | Mar 06 LEC: Remote Exploitation TUT: Tut07: Socket Programming in Python Assigned: Lab07: Remote Attacks | 
| Mar 09 REC: Lab 07 | Mar 10 | Mar 11 DROP DATE REC: Lab 07 | Mar 12 | Mar 13 TUT: Tut07: ROP against Remote Service | 
| Mar 16 Spring break | Mar 17 Spring break | Mar 18 Spring break | Mar 19 Spring break | Mar 20 Spring break | 
| Mar 23 REC: Lab 07 | Mar 24 | Mar 25 REC: Lab 07 | Mar 26 DUE: Lab 07 | Mar 27 LEC: Integer Overflows, Race Conditions TUT: Tut08: Make Reliable Exploit Assigned: Lab08: Miscellaneous Topics | 
| Mar 30 REC: Lab 08 | Mar 31 | Apr 01 REC: Lab 08 | Apr 02 DUE: Lab 08 | Apr 03 LEC: Heap Memory Allocation TUT: Tut09: Understanding Heap Bugs Assigned: Lab09: Exploiting Heap Bugs | 
| Apr 06 REC: Lab 09 | Apr 07 | Apr 08 REC: Lab 09 | Apr 09 | Apr 10 TUT: Tut09: Exploiting Heap Allocators | 
| Apr 13 REC: Lab 09 | Apr 14 | Apr 15 REC: Lab 09 | Apr 16 DUE: Lab 09 | Apr 17 LEC: Fuzzing/Symbolic Execution TUT: Tut10: Fuzzing Assigned: Lab10: Online CTF | 
| Apr 20 REC: Lab 10 | Apr 21 | Apr 22 | Apr 23 Final exam week (No final!) DUE: Lab 10 | Apr 24 Final exam week (No final!) TUT: Tut10: Symbolic Execution | 
| Apr 27 Final exam week (No final!) | Apr 28 Final exam week (No final!) | Apr 29 Final exam week (No final!) | Apr 30 Final exam week (No final!) | May 01 TUT: Tut10: Hybrid Fuzzing |