ScheduleΒΆ

The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff (mailto:staff). Please visit our scoreboard at the submission web site and importantly, ask any questions (and things to discuss) with colleagues and staffs via Ed Discussion.

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