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