#1.1 programming solutions
A solution in the same language you chose must not exist already in the challenge folder (
internal solution). Otherwise your solution won't count as a
A solution in the same language you chose must not exist already in
OTHERS.lstfile within the challenge folder (
external solution). Otherwise your solution won't count as a
Only one unique solution per user per challenge is counted.
The strictest compilation (optional for interpreted languages) and strictest linting (mandatory for all languages) commands used and their output must be included in the prelude at the beginning of the code./*$ cargo clippy #linting$ rustup run nightly #compilationCompiling milogin v0.1.0 (file:///../skhorn)Finished dev [unoptimized + debuginfo] target(s) in 0.22 secs$ rustc milogin.rs$*/My solution's first line.
The execution commands used and their output must be included in the postlude at the end of the codeMy solution's last line./*$ cat DATA.lst | ./skhornover obese obese normal obese obese obese obese ...*/
If the solution takes a set of input data, such input must not be hardcoded into the solution. Meaning that the solution must read from stdin the DATA.lst file located in the challenge directory. If such file does not exist, you must include it in your commit
Most source codes go through an evaluation process (a.k.a as Pipelines or Jobs) in order to evaluate good coding habits. You can check what linters are currently integrated into our CI in this link
Source code must be created by hand (manually). Solutions built as a result of program transformation (compilation, transpilation, etc) or any other kind of automatic generation are not allowed.
When presenting several solutions to the same challenge, only one counts as unique.
The solutions only allow libraries from the standard library, we only allow specific libs in some langs like rust, you can find out in the apart for that.
When you are submitting a solution make sure to always use the functional programming paradigm. In order to promote the use of this paradigm on your solutions, you are asked to avoid using GLOBAL_VARS, state (classes. etc), FOR and WHILE loops, and mutation. When the use of some of these is evident, the MR will be closed and you will be asked to make the respective corrections.
All solutions must use an indent of 2 spaces unless the language does not allow that.
Following these instructions will save you a lot of time. Make sure to comply.
#1.2 ctf-hacking and vbd-hacking solutions
They must not have a solution in Gherkin (*.feature) in the repository (challenge folder).
They must not have an external indexed solution (links OTHERS.lst of the challenge).
They must be challenges that require a technical level (not mathematical nor riddle) from WeChall or its related sites.
#1.3 ctf-hacking solutions
They must follow the template hacking-challenges.feature
The flag for ctf-hacking challenges must be censored in the evidences and it must be implicit inside the .feature file
#1.4 vbd-hacking solutions
They must follow the template hacking-vbd.feature
They must be challenges that Require exploiting ToE listed in: