Week 9
← all weeks · readme · ctf
marp: true theme: default paginate: true header: "Software Security · Week 9 · Midterm"
Week 9
Midterm — Hands-on CTF Practical
Covers Weeks 1–6 · Individual
<!-- Proctor deck. BEFORE class: plant per-student flags (seed_flags.py + the flag-planting notes in exams/week09-…-answers.md), bring up the targets, open CTFd. Confirm everyone's VM/Docker works in the first 5 min. -->
Format
- Timed, in the sandbox
- Each solved challenge = a flag = points
- Partial credit for documented progress
<!-- State the time (150 min) + that flags are per-student (copying is traceable via seed_flags.py verify). Submit via CTFd or the Form. ~2 min. -->
Challenge areas
- Injection — SQLi / command (DVWA / Juice Shop)
- XSS — reflected / stored / DOM (Juice Shop)
- Auth / access — IDOR, weak JWT forgery
- Crypto — crack a weak hash / break an ECB oracle
<!-- Same areas as the W7 mock — no surprises. Extra challenges available in exams/item-bank.md (CTF pool) if you rotate. -->
Rules
- Sandbox targets only — ethics policy applies
- Submit flags + a short note on method per challenge
- No collaboration
<!-- Stress: attack only provided targets; per-challenge submit flag + 1-line method + mitigation (the method note earns partial credit + supports grading). Then start the clock. -->
Submit your flags
Next: Unit C — Systems & Modern Stack (Week 10, API security)
<!-- Close: collect submissions; grade with the answer key + seed_flags.py verify for copied flags. Preview W10 (APIs). -->