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 |
Aug 20 First day of class (No class) |
Aug 21 | Aug 22 | Aug 23 | Aug 24 LEC 1: Warm-up: x86, Tools TUT 1: GDB/x86 Preparation: Read asm Assigned: Lab 01: Bomb Lab1 |
Aug 27 | Aug 28 | Aug 29 REC 1: Lab 01 |
Aug 30 DUE: Lab 01 |
Aug 31 LEC 2: Warm-up: x86_64, Shellcode, Tools TUT 2: pwndbg, Shellcode (link) Preparation: Read x86_64 Assigned: Lab 02: Bomb Lab2 / Shellcode |
Sep 3 Labor day |
Sep 4 | Sep 5 REC 2: Lab 02 |
Sep 6 DUE: Lab 02 |
Sep 7 LEC 3: Writing exploits TUT 3: IDA, Your first control hijacking Preparation: Read Phrack #49-14 Assigned: Lab 03: Stack Overflow |
Sep 10 | Sep 11 | Sep 12 REC 3: Lab 03 |
Sep 13 | Sep 14 LEC 4: Exploiting stack overflows TUT 4: Pwntool, Your first exploit! Preparation: Read pwntools |
Sep 17 | Sep 18 | Sep 19 REC 4: Lab 03 |
Sep 20 DUE: Lab 03 |
Sep 21 LEC 5: Stack Protections TUT 5: Bypassing Stack Canaries Preparation: Read Bypassing StackShield Assigned: Lab 04: Bypassing Stack Protection |
Sep 24 | Sep 25 | Sep 26 REC 5: Lab 04 |
Sep 27 DUE: Lab 04 |
Sep 28 LEC 6: DEP and ASLR TUT 6: Format string vulnerability Preparation: Read ASLR Smack & Laugh Reference Assigned: Lab10: NSA Codebreaking Challenge Assigned: Lab 05: Bypassing DEP/ASLR |
Oct 1 | Oct 2 | Oct 3 REC 6: Lab 05 |
Oct 4 DUE: Lab 05 |
Oct 5 LEC 7: Return-oriented Programming (ROP) TUT 7: Your first ROP Preparation: Read ROP Assigned: Lab 06: Return-oriented Programming |
Oct 8 Fall Student Recess |
Oct 9 Fall Student Recess |
Oct 10 REC 7: Lab 06 |
Oct 11 | Oct 12 |
Oct 15 | Oct 16 | Oct 17 REC 8: Lab 06 |
Oct 18 DUE: Lab 06 |
Oct 19 LEC 8: Remote Exploitation TUT 8: Socket Programming in Python! Assigned: Lab 07: Remote Attacks |
Oct 22 | Oct 23 | Oct 24 REC 9: Lab 07 |
Oct 25 | Oct 26 LEC 9: Fuzzing and symbolic execution TUT 9: AFL Assigned: CTF Challenge (Guideline) |
Oct 29 REC 10: Lab 07 |
Oct 30 | Oct 31 REC 11: Lab 07 |
Nov 1 DUE: Lab 07 |
Nov 2 LEC 10: Miscellaneous I TUT 10: Make Reliable Exploit Assigned: Lab 08: Exploiting Misc1 (int-ovfl, race, tictou &c) |
Nov 5 REC 12: Lab 08 |
Nov 6 | Nov 7 REC 13: Lab 08 |
Nov 8 DUE: Lab 08 |
Nov 9 LEC 11: Heap Memory Allocation TUT 11: Your first heap exploit Assigned: Lab 09: Exploiting Heap Bugs |
Nov 12 REC 14: Lab 09 |
Nov 13 DUE: CTF Challenge |
Nov 14 REC 15: Lab 09 |
Nov 15 | Nov 16 LEC 12: In-class CTF (for a day) |
Nov 19 | Nov 20 | Nov 21 Thanksgiving |
Nov 22 Thanksgiving |
Nov 23 Thanksgiving |
Nov 26 REC 16: Lab 09 |
Nov 27 | Nov 28 REC 17: Lab 09 |
Nov 29 DUE: Lab 09 DUE: Lab10: NSA Codebreaking Challenge |
Nov 30 LEC 13: Insu Yun, API Sanitizer: How to find bugs? LEC 14: Wen Xu, Exploit Linux UAF Award ceremony |
Dec 3 Last day of classes |
Dec 4 | Dec 5 | Dec 6 Final exam week (No final!) |
Dec 7 Final exam week (No final!) |
Dec 10 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 |