Week 7 · mock-ctf

Week 7 — Mock CTF (Midterm dry-run)

← all weeks · readme · slides

Week 7 — Mock CTF (Midterm dry-run)

Covers: Weeks 1–6 · Format: same as the Week 9 midterm practical · Ungraded (participation). Time: ~150 min · individual or pairs · Sandbox targets only (ethics policy applies).

This is practice — hints are included and solutions point back to the labs. No real exam flags here. Goal: get comfortable with the format so Week 9 has no surprises.

Targets: labs/week03-cryptography, labs/week04-injection, labs/week05-xss-client-side, labs/week06-authn-authz (docker compose up in each).

#ChallengeTopicHintSelf-check
1Log in as another user without their passwordSQLi (W4)the username field isn't parameterizedsolution_app.py
2Run a command on the servercmd injection (W4)host is passed to a shellsolution_app.py
3Pop alert(1) that another user would triggerstored XSS (W5)the comment body is rendered rawfixed_app.py (CSP)
4Read an order that isn't yoursIDOR (W6)change the id; no ownership checkattack.md
5Become admin with a crafted tokenweak JWT (W6)alg:none / weak secret "secret"attack.md
6Recover a password from its hashcrypto (W3)unsalted MD5 + a wordlistsolution_skeleton.py

For each: note your payload/command + a one-line fix. Compare with the linked solution.

Warm-up (concepts)

  • Draw a 3-element STRIDE table for any one target above.
  • Name the CWE for each challenge you solved.

Then take the cumulative review quiz (Quiz 1) this week, and review weak spots before the Week 8/9 midterm.