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