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 Piazza.

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