ScheduleΒΆ

The schedule might change as the course progresses.

Monday Tuesday Wednesday Thursday Friday
Aug 18
First day of class (No class)
Aug 19
Aug 20
Aug 21
Aug 22
LEC: Warm-up: x86, Tools [slides]
TUT: Tut01: GDB/x86 [video]
Preparation: Read asm
Assigned: Lab01: Bomb Lab1
Aug 25
Aug 26
Aug 27
Aug 28
DUE: Lab 01
Aug 29
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
Sep 01
Labor Day
Sep 02
Sep 03
Sep 04
DUE: Lab 02
Sep 05
LEC: Stack Overflow [slides]
TUT: Tut03: Writing Your First Exploit [video]
Preparation: Read Phrack #49-14
Assigned: Lab03: Stack Overflow
Sep 08
Sep 09
Sep 10
Sep 11
Sep 12
LEC: Writing Exploits with Pwntools [slides]
TUT: Tut03: Writing Exploits with pwntools [video]
Preparation: Read pwntools
Sep 15
Sep 16
Sep 17
Sep 18
DUE: Lab 03
Sep 19
LEC: Stack Protections [slides]
TUT: Tut04: Bypassing Stack Canaries [video]
Preparation: Read Bypassing StackShield
Assigned: Lab04: Bypassing Stack Protection
Sep 22
Sep 23
Sep 24
Sep 25
DUE: Lab 04
Sep 26
LEC: DEP and ASLR [slides]
TUT: Tut05: Format String Vulnerability [video]
Preparation: Read ASLR Smack & Laugh Reference
Assigned: Lab05: Bypassing DEP/ASLR
Sep 29
Sep 30
Oct 01
Oct 02
DUE: Lab 05
Oct 03
LEC: Return-oriented Programming (ROP) [slides]
TUT: Tut06: Return-oriented Programming (ROP) [video]
Preparation: Read ROP
Assigned: Lab06: Return-oriented Programming
Oct 06
Fall break
Oct 07
Fall break
Oct 08
Oct 09
Oct 10
LEC: Advanced ROP [slides]
TUT: Tut06: Advanced ROP [video]
Oct 13
Oct 14
Oct 15
Oct 16
DUE: Lab 06
Oct 17
LEC: Remote Exploitation, ROP against Remote Service [slides]
TUT: Tut07: Socket Programming in Python [video]
Assigned: Lab07: Remote Attacks
Oct 20
Oct 21
Oct 22
Oct 23
Oct 24
LEC: Fuzzing/Symbolic Execution [slides]
TUT: Tut07: ROP Against Remote Service [video1], [video2]
Oct 27
Oct 28
Oct 29
Oct 30
DUE: Lab 07
Oct 31
LEC: Integer Overflows, Race Conditions [slides]
TUT: Tut08: Logic Errors [video]
Assigned: Lab08: Miscellaneous Topics
Nov 03
Nov 04
Nov 05
Nov 06
DUE: Lab 08
Nov 07
LEC: Designing Heap Allocator [slides] [note] [whiteboard]
TUT: Tut09: Understanding Heap Bugs [video1], [video2]
Assigned: Lab09: Exploiting Heap Bugs
Nov 10
Nov 11
Nov 12
Nov 13
Nov 14
LEC: Exploiting Heap Allocator [slides]
TUT: Tut09: Exploiting Heap Allocators [video]
Nov 17
Nov 18
Nov 19
Nov 20
DUE: Lab 09
Nov 21
TUT: Tut10: Fuzzing
TUT: Tut10: Symbolic Execution
TUT: Tut10: Hybrid Fuzzing
Preparation: NSA Codebreaker Challenges'23
Assigned: Lab10: TKCTF (for 24h)
Nov 24
Nov 25
Nov 26
Nov 27
Thanksgiving
Nov 28
Thanksgiving
Dec 01
Dec 02
Dec 03
Dec 04
Final exam week
(No final!)
Dec 05
Final exam week
(No final!)
Dec 08
Final exam week
(No final!)
Dec 09
Final exam week
(No final!)
Dec 10
Final exam week
(No final!)
Dec 11
Final exam week
(No final!)
Dec 12