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
Aug 17
First day of class (No class)
Aug 18
Aug 19
Aug 20
Aug 21
LEC: Warm-up: x86, Tools
TUT: Tut01: GDB/x86
Preperation: Read asm
Assigned: Lab01: Bomb Lab1
Aug 24
REC: Lab 01
Aug 25
Aug 26
REC: Lab 01
Aug 27
DUE: Lab 01
Aug 28
LEC: Warm-up: x86_64, Shellcode, Tools
TUT: Tut02: Pwndbg, Ghidra, Shellcode [video1],[video2],[video3]
Preperation: Read x86_64
Assigned: Lab02: Bomb Lab2 / Shellcode
Aug 31
REC: Lab 02
Sep 01
Sep 02
REC: Lab 02
Sep 03
DUE: Lab 02
Sep 04
LEC: Writing exploits
TUT: Tut03: Writing Your First Exploit [video]
Preperation: Read Phrack #49-14
Assigned: Lab03: Stack Overflow
Sep 07
Labor day
Sep 08
Sep 09
REC: Lab 03
Sep 10
Sep 11
LEC: Exploiting stack overflows
TUT: Tut03: Writing Exploits with pwntools [video]
Preperation: Read pwntools
Sep 14
REC: Lab 03
Sep 15
Sep 16
REC: Lab 03
Sep 17
DUE: Lab 03
Sep 18
LEC: Stack Protections
TUT: Tut04: Bypassing Stack Canaries [video]
Preperation: Read Bypassing StackShield
Assigned: Lab04: Bypassing Stack Protection
Sep 21
REC: Lab 04
Sep 22
Sep 23
REC: Lab 04
Sep 24
Sep 25
LEC: DEP and ASLR
TUT: Tut05: Format String Vulnerability [video]
Preperation: Read ASLR Smack & Laugh Reference
Assigned: Lab05: Bypassing DEP/ASLR
Sep 28
REC: Lab 04
REC: Lab 05
Sep 29
Sep 30
REC: Lab 04
REC: Lab 05
Oct 01
DUE: Lab 04
Oct 02
LEC: Return-oriented Programming (ROP)
TUT: Tut06: Return-oriented Programming (ROP) [video]
Preperation: Read ROP
Assigned: Lab06: Return-oriented Programming
Oct 05
REC: Lab 05
REC: Lab 06
Oct 06
Oct 07
REC: Lab 05
REC: Lab 06
Oct 08
DUE: Lab 05
Oct 09
LEC: Advanced ROP
TUT: Tut06: Advanced ROP [video]
Oct 12
REC: Lab 06
Oct 13
Oct 14
REC: Lab 06
Oct 15
DUE: Lab 06
Oct 16
LEC: Remote Exploitation
TUT: Tut07: Socket Programming in Python [video]
Assigned: Lab07: Remote Attacks
Oct 19
REC: Lab 07
Oct 20
Oct 21
REC: Lab 07
Oct 22
Oct 23
LEC: Fuzzing/Symbolic Execution
TUT: Tut07: ROP against Remote Service [video1],[video2]
Oct 26
REC: Lab 07
Oct 27
Oct 28
REC: Lab 07
Oct 29
DUE: Lab 07
Oct 30
LEC: Integer Overflows, Race Conditions
TUT: Tut08: Logic Errors [video]
Assigned: Lab08: Miscellaneous Topics
Nov 02
REC: Lab 08
Nov 03
Nov 04
REC: Lab 08
Nov 05
DUE: Lab 08
Nov 06
LEC: Designing Heap Allocator [video]
TUT: Tut09: Understanding Heap Bugs [video]
Preperation: Lecture Note
Assigned: Lab09: Exploiting Heap Bugs
Nov 09
REC: Lab 09
Nov 10
Nov 11
REC: Lab 09
Nov 12
Nov 13
LEC: Exploiting Heap Allocator
TUT: Tut09: Exploiting Heap Allocators [video]
Nov 16
REC: Lab 09
Nov 17
Nov 18
REC: Lab 09
Nov 19
DUE: Lab 09
Nov 20
Award ceremony
LEC: CTF (24h, virtually)
Nov 23
Nov 24
Last day of classes
Nov 25
Thanksgiving
Nov 26
Thanksgiving
Nov 27
Thanksgiving
Nov 30
Final exam week
(No final!)
Dec 01
Final exam week
(No final!)
Dec 02
Final exam week
(No final!)
Dec 03
Final exam week
(No final!)
Dec 04
Final exam week
(No final!)
DUE: Lab10: NSA Codebreaker Challenge!