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