This topic is primarily aimed at people interested in software security, reverse engineering and low-level software. In this course, we will explore the foundations of software security. We will consider important software vulnerabilities and attacks that exploit them -- such as buffer overflows, SQL injection, and session hijacking -- and we will consider defenses that prevent or mitigate these attacks, including advanced testing and program analysis techniques.
# | Date | Topic | Slides | Supporting Materials |
---|---|---|---|---|
Class 1 | Aug 30, 2022 | Introduction | ch01.pdf |
|
Class 2 | Sep 01, 2022 | IA-32 Register, Byte Ordering | ch02.pdf |
|
Class 3 | Sep 6, 2022 | x86 ASM, Stack | ch03.pdf |
|
Class 4 | Sep 8, 2022 | Stack & Stack Frame (1) | ch04.pdf |
|
Lab 1 (10 points) |
Sep 13, 2022 | Lab: Stack and Stack Frame
Due on: 10/04/2022 23:59:59
|
lab1.pdf |
|
Class 5 | Sep 20, 2022 | Stack Frame (2) | ch04.pdf |
|
Class 6 | Sep 22, 2022 | System Call & Shellcode | ch06.pdf |
|
Class 7 | Sep 27, 2022 | Stack Overflow (1) | ch07.pdf |
|
Class 8 | Sep 29, 2022 | Stack Overflow (2) | ch08.pdf |
|
Lab 2 (10 points) |
Oct 04, 2022 | Lab: Stack Overflow
Due on: 10/20/2022 23:59:59
|
lab2.pdf |
|
Class 9 | Oct 04, 2022 | Return-oriented Programming (ROP) (1) | ch09.pdf |
|
Class 10 | Oct 06, 2022 | Return-oriented Programming (ROP) (2) | ch10.pdf |
|
Class 11 | Oct 11, 2022 | ROP (3) & Return-to-libc Attack | ch11.pdf |
|
Lab 3 (10 points) |
Oct 11, 2022 | Lab: Return-oriented Programming (ROP)
Due on: 11/08/2022 23:59:59
|
lab3.pdf |
|
Class 12 | Oct 13, 2022 | PLT, GOT & Return-to-plt Attack (Bypassing ASLR/NX) | ch12.pdf |
|
Class 13 | Oct 25, 2022 | GOT Overwrite Attack | ch13.pdf |
|
Class 14 | Oct 27, 2022 | GOT Overwrite Attack (2) | ch13.pdf |
|
Class 15 | Nov 01, 2022 | Multi-Stage Exploits | ch15.pdf |
|
Lab 4 (10 points) |
Nov 01, 2022 | Lab: Multi-Stage Exploits
Due on: 11/17/2022 23:59:59
Your submission should include: A detailed project report in PDF format to describe what you have done, including screenshots and code snippets and content inside flag.txt. |
Target IP: 147.182.223.56 Target Port: 7777 Vulnerable program: lab4 (lab4.c) Target File (flag): flag.txt ASLR/NX is on, StackGuard and PIE is off Hint Libc version: libc6-i386_2.33-0ubuntu5_amd64 [Link] |
|
Class 16 | Nov 3, 2022 | Stack Guard & Format String Bug | ch16.pdf |
|
Class 17 | Nov 7, 2022 | Web Security [Video] Online Asynchronous |
ch17.pdf | |
Class 18 | Nov 10, 2022 | Heap Exploitation (1) | ch18.pdf |
|
Class 19 | Nov 15, 2022 | Heap Exploitation (2): Unlink Attack | ch19.pdf |
|
Class 20 | Nov 17, 2021 | Heap Exploitation (3): glibc, House of force | ch20.pdf |
|
Class 21 | Nov 22, 2022 | Kernel Exploitation[Video] Online Asynchronous |
ch21.pdf |
|
Lab 5 (10 points) |
Nov 22, 2022 | Lab: Kernel Exploitation
Due on: 12/16/2022 23:59:59
|
lab5.pdf |
|
Class 22 | Nov 29, 2022 | Use After Free (UAF), Double Free, Hacking Gaming Consoles | ch22.pdf |
|
Final Project (30 + 10 (Quiz) points) |
Nov 22, 2022 | "The Final"
Due on: 12/16/2022 23:59:59 Your submission should include: A detailed project report in PDF format to describe what you have done, including screenshots and code snippets and content inside flag. |
Target IP: 104.131.58.52 Target Port: 9999 Vulnerable program: final(final.c) Target File (flag): flag ASLR/NX and StackGuard are on, PIE is off Hint Libc Offset: offset___libc_start_main_ret = 0x1aed5 offset_system = 0x00041360 offset_dup2 = 0x000f11c0 offset_read = 0x000f0540 offset_write = 0x000f05e0 offset_str_bin_sh = 0x18b363 |
|