Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8b4c712
Ported debian and ubuntu based images
MarkusOstermayer Dec 9, 2025
1026b29
Updated debian 12.11 template
MarkusOstermayer Dec 9, 2025
2598648
Updated tempalte versions
MarkusOstermayer Dec 10, 2025
6935580
Added file extension for sagemath
MarkusOstermayer Jan 10, 2026
612e454
Merge remote-tracking branch 'upstream/fix/debian_ubuntu_package_arch…
MarkusOstermayer Jan 11, 2026
56c544b
Merge remote-tracking branch 'upstream/feature/sage_extension' into y…
MarkusOstermayer Jan 11, 2026
0d3eb8f
Removed instanced templates
MarkusOstermayer Jan 11, 2026
41a03eb
Removed POW, removed qemu-pwn-kernel
MarkusOstermayer Jan 11, 2026
35eb948
Removed alpine based templates
MarkusOstermayer Jan 11, 2026
021530e
Added new manifests
MarkusOstermayer Jan 11, 2026
eac9830
Removed CTFd-configuration, removed dist-folder
MarkusOstermayer Jan 11, 2026
ecd71ba
Removed old targets and other configuration
MarkusOstermayer Jan 11, 2026
4136dc5
Removed old phony targets
MarkusOstermayer Jan 11, 2026
4ffe5cf
removed phony targets for offline-template
MarkusOstermayer Jan 11, 2026
6084d39
Updated readme, changed solidity-version number
MarkusOstermayer Jan 11, 2026
6e02f00
Added fileextensions for non-binaries
MarkusOstermayer Jan 14, 2026
abb7c82
Fixed makefile from prior mistake
MarkusOstermayer Jan 14, 2026
e13ac2a
Added docker-compose tempaltes
MarkusOstermayer Jan 14, 2026
3907442
Fixed copy-paste error
MarkusOstermayer Jan 14, 2026
3150d99
Added dummy-flag in docker-compose template
MarkusOstermayer Jan 14, 2026
17e5d1e
Removed old dummy-flag
MarkusOstermayer Jan 14, 2026
aff947a
Removed flag.txt from jailed challenges
MarkusOstermayer Jan 17, 2026
8978a0a
Repalce flag.txt-files with environment file
MarkusOstermayer Jan 17, 2026
33a6f2c
Added offline-dynamic-python
MarkusOstermayer Jan 18, 2026
2e70a42
Added a environment variable to all makefiles
MarkusOstermayer Jan 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 13 additions & 21 deletions .versions

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Further supporting the fact that this should be it's own repository I think.

Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
bash-jail-ubuntu24.04 1.0.1
bash-nojail-ubuntu24.04 1.0.1
flask-instanced-alpine3.21 1.0.1
flask-nojail-alpine3.21 1.0.1
offline 1.0.1
php-instanced-ubuntu24.04 1.0.1
php-nojail-ubuntu24.04 1.0.1
phpxss-nojail-ubuntu24.04 1.0.1
pwn-jail-alpine3.21 1.0.1
pwn-jail-debian12.11 1.0.1
pwn-jail-ubuntu24.04 1.0.1
pwn-nojail-alpine3.21 1.0.1
pwn-nojail-ubuntu24.04 1.0.1
pwn-qemu-kernel 1.0.1
python3.12-jail-alpine3.21 1.0.1
python3.12-jail-ubuntu24.04 1.0.1
python3.12-nojail-alpine3.21 1.0.1
python3.12-nojail-ubuntu24.04 1.0.1
rust-nojail-alpine3.21 1.0.1
rust-nojail-ubuntu24.04 1.0.1
sagemath-nojail-ubuntu22.04 1.0.1
bash-jail-ubuntu24.04 1.0.0
bash-nojail-ubuntu24.04 1.0.0
flask-nojail-alpine3.21 1.0.0
offline 1.0.0
php-nojail-ubuntu24.04 1.0.0
phpxss-nojail-ubuntu24.04 1.0.0
pwn-jail-debian12 1.0.0
pwn-jail-ubuntu24.04 1.0.0
pwn-nojail-ubuntu24.04 1.0.0
python3.12-jail-ubuntu24.04 1.0.0
python3.12-nojail-ubuntu24.04 1.0.0
rust-nojail-ubuntu24.04 1.0.0
sagemath-nojail-ubuntu22.04 1.0.0
solidity-nojail-debian11 0.0.1
53 changes: 19 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,27 +31,19 @@ with `make version`.

| Name | Version |
| :----------------------------- | :-----: |
| bash-jail-ubuntu24.04 | 1.0.1 |
| bash-nojail-ubuntu24.04 | 1.0.1 |
| flask-instanced-alpine3.21 | 1.0.1 |
| flask-nojail-alpine3.21 | 1.0.1 |
| offline | 1.0.1 |
| php-instanced-ubuntu24.04 | 1.0.1 |
| php-nojail-ubuntu24.04 | 1.0.1 |
| phpxss-nojail-ubuntu24.04 | 1.0.1 |
| pwn-jail-alpine3.21 | 1.0.1 |
| pwn-jail-debian12.11 | 1.0.1 |
| pwn-jail-ubuntu24.04 | 1.0.1 |
| pwn-nojail-alpine3.21 | 1.0.1 |
| pwn-nojail-ubuntu24.04 | 1.0.1 |
| pwn-qemu-kernel | 1.0.1 |
| python3.12-jail-alpine3.21 | 1.0.1 |
| python3.12-jail-ubuntu24.04 | 1.0.1 |
| python3.12-nojail-alpine3.21 | 1.0.1 |
| python3.12-nojail-ubuntu24.04 | 1.0.1 |
| rust-nojail-alpine3.21 | 1.0.1 |
| rust-nojail-ubuntu24.04 | 1.0.1 |
| sagemath-nojail-ubuntu22.04 | 1.0.1 |
| bash-jail-ubuntu24.04 | 1.0.0 |
| bash-nojail-ubuntu24.04 | 1.0.0 |
| flask-nojail-alpine3.21 | 1.0.0 |
| offline | 1.0.0 |
| php-nojail-ubuntu24.04 | 1.0.0 |
| phpxss-nojail-ubuntu24.04 | 1.0.0 |
| pwn-jail-debian12 | 1.0.0 |
| pwn-jail-ubuntu24.04 | 1.0.0 |
| pwn-nojail-ubuntu24.04 | 1.0.0 |
| python3.12-jail-ubuntu24.04 | 1.0.0 |
| python3.12-nojail-ubuntu24.04 | 1.0.0 |
| rust-nojail-ubuntu24.04 | 1.0.0 |
| sagemath-nojail-ubuntu22.04 | 1.0.0 |
| solidity-nojail-debian11 | 0.0.1 |

You can check for the latest versions within a script [here](https://raw.githubusercontent.com/LosFuzzys/LosTemplates/refs/heads/main/.versions)
Expand Down Expand Up @@ -123,10 +115,6 @@ Files in `solution/` holds the solvescript and writeup for the challenge.
Dependencies for `solution/exploit` can be added via `uv` in
`solution/requirements.txt` or `apt install` in `solution/Dockerfile`.

Files in `deployment/` contains helper files for the deployment of the
challenge. Organizers can place files here and use them from `Makefile` for
deployments. Ex: shared testing VPS private SSH keys.

**Targets**

| Target | Description |
Expand All @@ -135,19 +123,11 @@ deployments. Ex: shared testing VPS private SSH keys.
| `build` | Builds the challenge container. |
| `run` | Runs the challenge container. |
| `solve` | Solves the challenge (via netcat). Supports `HOST=remote.com` `PORT=9999` |
| `solve-sequential` | Solves the challenge `TIMES` sequentially. Returns failed runs via `$?` |
| `solve-parallel` | Solves the challenge `TIMES` with `JOBS` parallel threads. |
| `dist` | Generates the handout file for the challenge. Upload to CTFd and/or upstream. |
| `distrun` | Extracts the handout file and runs the handout challenge. |
| `test` | Checks if the challenge works. Deploy+solve and deploy handout + solve. |
| `lint` | Lints common mistakes (resolved symlinks, missing files, same flags, etc.)º |
| `kill` | Kills all containers related to the challenge |
| `clean` | Cleans the challenge handout and compiled binaries |
| `deploy` | Deploys the challenge via the default deployment (docker, quadlet, etc.) |
| `deploy-docker` | Generates the `docker-compose.yml` file for docker-compose deployment |
| `deploy-quadlet` | Generates the systemd quadlet unit for systemd services deployments |
| `deploy-registry` | Pushes the challenge container to a OCI registry specified in `REGISTRY` |
| `deploy-yml` | Generates the CTFd yaml file for challenge metadata |
| `shell` | Opens a shell in the running challenge container (and chroots into the jail root directory in jailed challenges) |
| `version` | Prints the current template version |

Expand All @@ -171,7 +151,6 @@ Arguments can be used as:
$ make PORT=8080
$ make solve HOST=challenges.ssdvps.com PORT=8080
$ make deploy-docker PORT=10001
$ make solve-parallel TIMES=100 JOBS=10
$ make RUNTIME='sudo docker'
```

Expand All @@ -192,6 +171,12 @@ programs, it usually `LD_PRELOAD`s the binary and causes unexpected
allocations, likely breaking locally developed heap exploits. Always disable it
in the program `main` or init function with `man 3 setvbuf`.

**Location of the flag**
These templates expect a flag in the environment variable `FLAG`.
To make solving PWn-challenges a bit easier for participants, PWN-challenges
have a file that contains the flag.


**Creating a writeable path:**

For jailed apps you can create a writeable path with `nsjail`, see
Expand Down
1 change: 0 additions & 1 deletion addon-proof-of-work/.gitignore

This file was deleted.

27 changes: 0 additions & 27 deletions addon-proof-of-work/README.md

This file was deleted.

36 changes: 0 additions & 36 deletions addon-proof-of-work/exploit-snippet

This file was deleted.

107 changes: 0 additions & 107 deletions addon-proof-of-work/pow

This file was deleted.

Loading