| Week | Topic | Assignments | Due (Monday before class) |
|---|---|---|---|
| 1 | Course overview, Web Basics Web Programming |
1.1 1.2 |
|
| 2 | Authentication, Session Management Broken Authentication |
1.3, 1.4 (HW #1) | |
| 3 | Broken Access Control Unvalidated Redirects/Forwards, File upload, File includes Sensitive Data Exposure (HTTPS) |
2.1 | Lab notebook #1, HW #1 (1.4) |
| 4 | SSRF, XML External Entities (XXE) Command/Code injection, SQL injection |
3.1, 3.2 4.1 |
Lab notebook #2 |
| 5 |
Blind SQL injection Cross-site Scripting (XSS) |
4.2 (HW #2) 5.1 |
Lab notebook #3 |
| 6 |
Cross-Origin Resource Sharing (CORS), Content Security Policy (CSP), Cross-site Request Forgery (CSRF), Clickjacking Web Cache Poisoning, Request Smuggling |
5.2
6.1, 6.2 |
Lab notebook #4, HW #2 (4.2) |
| 7 |
Insecure Deserialization, Web Sockets Misconfiguration, Insufficient Logging, APIs Tools (wfuzz, nmap, hydra, sqlmap, xsstrike, commix) |
6.3, 6.4, 6.5 6.6 (Final project) 7.1, 7.2, 7.3, 7.4 |
Lab notebook #5 |
| 8 |
Tools (metasploit), Cloud overview (Motivation, Services) Cloud overview (Navigating), Cloud security (GCP) Cloud vulnerabilities |
7.5 8.1, 8.2, 8.3 |
Lab notebook #6 |
| 9 |
Cloud security (AWS) (In class exercise) AWS CloudGoat (iam_privesc_by_rollback) (In class exercise) AWS CloudGoat (ec2_ssrf) |
9.1, 9.2, 9.3, 9.4 |
Lab notebook #7 |
| 10 |
Infrastructure/Security as Code, Terraform (In class exercise) AWS CloudGoat (cloud_breach_s3,rce_web_app) |
Lab notebook #8 | |
| Finals | Lab notebook #9 (Monday) Final project (Thursday) |
| Attendance | 5% |
| Programs | 20% |
| Lab notebooks | 55% | Final project | 20% |