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 Ed Discussion.
| Monday | Tuesday | Wednesday | Thursday | Friday | 
| May 16 First day of class (No class) | May 17 | May 18 | May 19 | May 20 LEC: Warm-up: x86, Tools [slides] TUT: Tut01: GDB/x86 [video] Preparation: Read asm Assigned: Lab01: Bomb Lab1 | 
| May 23 REC: Lab 01 | May 24 REC: Lab 01 | May 25 REC: Lab 01 | May 26 DUE: Lab 01 | May 27 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 | 
| May 30 Memorial Day | May 31 REC: Lab 02 | Jun 01 REC: Lab 02 | Jun 02 | Jun 03 LEC: Writing exploits [slides] TUT: Tut03: Writing Your First Exploit [video] Preparation: Read Phrack #49-14 Assigned: Lab03: Stack Overflow DUE: Lab 02 | 
| Jun 06 REC: Lab 03 | Jun 07 REC: Lab 03 | Jun 08 REC: Lab 03 | Jun 09 | Jun 10 LEC: Exploiting stack overflows [slides] TUT: Tut03: Writing Exploits with pwntools [video] Preparation: Read pwntools | 
| Jun 13 REC: Lab 03 | Jun 14 REC: Lab 03 | Jun 15 REC: Lab 03 | Jun 16 DUE: Lab 03 | Jun 17 LEC: Stack Protections [slides] TUT: Tut04: Bypassing Stack Canaries [video] Preparation: Read Bypassing StackShield Assigned: Lab04: Bypassing Stack Protection | 
| Jun 20 REC: Lab 04 | Jun 21 REC: Lab 04 | Jun 22 REC: Lab 04 | Jun 23 DUE: Lab 04 | Jun 24 LEC: DEP and ASLR [slides] TUT: Tut05: Format String Vulnerability [video] Preparation: Read ASLR Smack & Laugh Reference Assigned: Lab05: Bypassing DEP/ASLR | 
| Jun 27 REC: Lab 05 | Jun 28 REC: Lab 05 | Jun 29 REC: Lab 05 | Jun 30 DUE: Lab 05 | Jul 01 LEC: Return-oriented Programming (ROP) [slides] TUT: Tut06: Return-oriented Programming (ROP) [video] Preparation: Read ROP Assigned: Lab06: Return-oriented Programming | 
| Jul 04 School break | Jul 05 School break | Jul 06 REC: Lab 06 | Jul 07 | Jul 08 LEC: Advanced ROP [slides] TUT: Tut06: Advanced ROP [video] | 
| Jul 11 REC: Lab 06 | Jul 12 REC: Lab 06 | Jul 13 REC: Lab 06 | Jul 14 DUE: Lab 06 | Jul 15 LEC: Remote Exploitation [slides] TUT: Tut07: Socket Programming in Python [video] Assigned: Lab07: Remote Attacks | 
| Jul 18 REC: Lab 07 | Jul 19 REC: Lab 07 | Jul 20 REC: Lab 07 | Jul 21 | Jul 22 TUT: Tut07: ROP Against Remote Service [video1], [video2] | 
| Jul 25 REC: Lab 07 | Jul 26 REC: Lab 07 | Jul 27 REC: Lab 07 | Jul 28 DUE: Lab 07 | Jul 29 Final exam week (No final!) | 
| Aug 01 Final exam week (No final!) | Aug 02 Final exam week (No final!) | Aug 03 Final exam week (No final!) | Aug 04 Final exam week (No final!) | Aug 05 |