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