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
|