Reworked the include and update port sections
Updated the format so that the challanges can be built and run standalone without any changes:
- Now every challenge need to specify a port-id that maps to the port published in the ports section (in services), removs the need to invalid port numbers (eg. ${FLAG}:80)
- Only ports that are specified in a challenge will be dynamic dynamic
- Replaced ${ with crl{DYNAMIC} as magic word for identififying flags that should be autogenerated, will make the flags visable as crl{DYNAMIC} when running standalone (instead of empty string)
Added flag-format specifier to blueprint: If one adds a sectyion like this to the blueprint :
x-ctfd:
flag-format: 'FLAG{{{FLAG}}}'
The resulting flag will be : FLAG{auto_generated_flag_here} The syntax of the flag format follows the python .format syntax (only allowed keyword is {FLAG})