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