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