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 |
Jan 09
First day of class (No class) |
Jan 10
|
Jan 11
|
Jan 12
|
Jan 13
LEC: Warm-up: x86, Tools [slides] TUT: Tut01: GDB/x86 [video] Preparation: Read asm Assigned: Lab01: Bomb Lab1 |
Jan 16
Martin Luther King, Jr |
Jan 17
|
Jan 18
|
Jan 19
DUE: Lab 01 |
Jan 20
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 |
Jan 23
|
Jan 24
|
Jan 25
|
Jan 26
DUE: Lab 02 |
Jan 27
LEC: Writing exploits [slides] TUT: Tut03: Writing Your First Exploit [video] Preparation: Read Phrack #49-14 Assigned: Lab03: Stack Overflow |
Jan 30
|
Jan 31
|
Feb 01
|
Feb 02
|
Feb 03
LEC: Exploiting stack overflows [slides] TUT: Tut03: Writing Exploits with pwntools [video] Preparation: Read pwntools |
Feb 06
|
Feb 07
|
Feb 08
|
Feb 09
DUE: Lab 03 |
Feb 10
LEC: Stack Protections [slides] TUT: Tut04: Bypassing Stack Canaries [video] Preparation: Read Bypassing StackShield Assigned: Lab04: Bypassing Stack Protection |
Feb 13
|
Feb 14
|
Feb 15
|
Feb 16
DUE: Lab 04 |
Feb 17
LEC: DEP and ASLR [slides] TUT: Tut05: Format String Vulnerability [video] Preparation: Read ASLR Smack & Laugh Reference Assigned: Lab05: Bypassing DEP/ASLR |
Feb 20
|
Feb 21
|
Feb 22
|
Feb 23
DUE: Lab 05 |
Feb 24
LEC: Return-oriented Programming (ROP) [slides] TUT: Tut06: Return-oriented Programming (ROP) [video] Preparation: Read ROP Assigned: Lab06: Return-oriented Programming |
Feb 27
|
Feb 28
|
Mar 01
|
Mar 02
|
Mar 03
LEC: Advanced ROP [slides] TUT: Tut06: Advanced ROP [video] |
Mar 06
|
Mar 07
|
Mar 08
|
Mar 09
DUE: Lab 06 |
Mar 10
LEC: Remote Exploitation [slides] TUT: Tut07: Socket Programming in Python [video] Assigned: Lab07: Remote Attacks |
Mar 13
|
Mar 14
|
Mar 15
DROP DATE |
Mar 16
|
Mar 17
LEC: ROP against Remote Service TUT: Tut07: ROP Against Remote Service [video1], [video2] |
Mar 20
Spring break |
Mar 21
Spring break |
Mar 22
Spring break |
Mar 23
Spring break |
Mar 24
Spring break |
Mar 27
|
Mar 28
|
Mar 29
|
Mar 30
DUE: Lab 07 |
Mar 31
LEC: Integer Overflows, Race Conditions TUT: Tut08: Logic Errors [video] Assigned: Lab08: Miscellaneous Topics |
Apr 03
|
Apr 04
|
Apr 05
|
Apr 06
DUE: Lab 08 |
Apr 07
LEC: Designing Heap Allocator [video] TUT: Tut09: Understanding Heap Bugs [video1], [video2] Preparation: Lecture Note Assigned: Lab09: Exploiting Heap Bugs |
Apr 10
|
Apr 11
|
Apr 12
|
Apr 13
|
Apr 14
LEC: Exploiting Heap Allocator TUT: Tut09: Exploiting Heap Allocators [video] |
Apr 17
|
Apr 18
|
Apr 19
|
Apr 20
DUE: Lab 09 |
Apr 21
LEC: Fuzzing/Symbolic Execution TUT: Tut10: Fuzzing Assigned: Lab10: Online CTF |
Apr 24
|
Apr 25
|
Apr 26
|
Apr 27
Final exam week (No final!) |
Apr 28
Final exam week (No final!) TUT: Tut10: Symbolic Execution |
May 01
Final exam week (No final!) |
May 02
Final exam week (No final!) |
May 03
Final exam week (No final!) |
May 04
Final exam week (No final!) |
May 05
TUT: Tut10: Hybrid Fuzzing |