Week 17 · mock-ctf

Week 17 — Mock CTF (Final dry-run)

← all weeks · readme · slides

Week 17 — Mock CTF (Final dry-run)

Covers: whole term, emphasis Weeks 10–16 · Format: same as the Week 19 final CTF · Ungraded (participation). Time: ~165 min · teams · Sandbox targets only (ethics policy applies).

Practice run with hints; solutions point back to the labs. No real exam flags.

Targets: labs/week10-api-security, labs/week11-memory-safety-exploitation, labs/week12-supply-chain, labs/week13-cloud-container, labs/week14-ai-llm-security (+ a callback to the web half).

#ChallengeTopicHintSelf-check
1Read another user's orders via the APIBOLA (W10)id in the URL, no authzsolution_api.py
2Create a user you shouldn't be able tomass assignment (W10)smuggle is_admin in the bodysolution_api.py
3Reach win() in the binarystack overflow (W11)offset 72 → overwrite RA; objdump for &winexploit_skeleton.py
4Make the binary crash with a fuzzerfuzzing (W11)clang -fsanitize=address,fuzzer fuzz_harness.csafe.rs (the fix)
5Find the vulnerable dependency / unsigned imagesupply chain (W12)trivy fs / cosign verifysign.sh, sca_scan.sh
6Spot the IAM/secret/root misconfigcloud (W13)trivy config; read Dockerfile.insecureharden.md
7Make the chatbot leak its secretprompt injection (W14)override the system instructionguarded_chatbot.py
8Callback: any one web bug from W4–6webreuse a midterm techniqueweek04–06 solutions

For each: payload/command + one-line mitigation; compare with the linked solution.

Warm-up (concepts)

  • For any 2 challenges, give the OWASP 2025 / API / LLM id + CWE.
  • One sentence: which control would have prevented it in CI?

Review weak spots, then the Week 18 written + Week 19 capstone CTF.