These example problems proceed roughly in order of complexity, from least complex challenge to most complex challenge. These are great problems to start problem development with.
- Sanity, static flag
- Presents the simplest of all CTF problems, the sanity check. Also goes over deploying and testing a problem.
- Forensics Grep
- Embeds a dynamic flag in a downloadable artifact. Also goes over testing templating.
- Forensics Disk
- Embeds the flag in a more complex artifact, and discusses the problem of cheesing.
- Web CSS
- Demonstrates hosting a simple nginx-based web problem. Also introduces configuring the container with a Python script.
- Reversing Python
- Presents a vulnerable program through a port using socat. Also goes over some tips on debugging your Dockerfile.
- General SSH (Multi-container)
- Demonstrates separating the challenge builder container from the interactive container.
In addition to these walkthroughs, you can also check the cmgr
developers'
example problems, which
are a good source for more complex problem development.