ScheduleΒΆ

The schedule might change as the course progresses.

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