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