Home

Awesome

Checksystem

It's a scalable competition platform for attack-defense CTF.

It's written in Perl with Mojolicious framework.

Architecture

Useful URLs

HTTP API

For scoreboard

For teams

API between checkers and checksystem

Checker is an executable file that get input from the checksystem via args and STDIN and return output via exit code and STDOUT/STDERR.

Checksystem runs checkers with that format: /path/to/checker mode host id flag

Modes

INFO

Cheker must return 101 exit code and print to STDOUT lines with key: value format. Supported keys:

CHECK

The checker must check the general functionality of the service at host.

PUT

The checker must put the flag to the service at host by id. If exit code is 101 then checker should print to STDOUT a JSON object with public_flag_id field wich will be accessible to the teams. You can add any additional fields to the object. This JSON object will be passed to the GET mode in the future.

GET

The checker must try to get flag from the service at host by id.

Exit codes