Update content for 2022
continuous-integration/drone/push Build is passing Details

This commit is contained in:
nemunaire 2021-05-08 22:59:01 +02:00
parent 3c46441b78
commit bb27b82594
7 changed files with 44 additions and 15 deletions

View File

@ -193,15 +193,26 @@ vos textes.
Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition
des participants.
{{% notice warning %}}
Les fichiers binaires, avec lesquels on ne peut pas faire de diff, n'ont pas d'intérêt à être présents directement sur le dépôt : cela consomme inutilement de la place et rend le clonage du dépôt inutilement longue. Vous **devez** utiliser [git-lfs](https://docs.gitlab.com/ee/topics/git/lfs/) sur le GitLab du CRI pour tous les fichiers binaires contenus dans ce dossier.
{{% /notice %}}
Chaque fichier doit avoir une entrée correspondante dans le fichier
`DIGESTS.txt` ; plus d'infos sur [la page `DIGESTS.txt`]({{<relref
"digests">}}).
- Pas plus 4GB à télécharger **par défi** (ie. tous les fichiers de ce défi) : 4GB, c'est 5 minutes 20 de téléchargement, c'est vraiment beaucoup lorsqu'on est impatient de faire le défi.
- Pas plus 4GB à télécharger **par défi** (ie. tous les fichiers de ce défi) : 4GB, c'est jusqu'à 5 minutes de téléchargement, c'est vraiment beaucoup lorsqu'on est impatient de faire le défi.
- Archives `.tar.bz2`, `.tar.gz`, `.tar.xz` ou `.zip` lorsque nécessaire. **PAS** de `.rar`, ...
- Compresser (sans tarball, juste via **gzip**[^gz]) les fichiers lorsque c'est utile (memory dump, images BMP, disques, fichiers textes, ...)
- Utiliser `$(split -b 240M -d BIG_FILE BIG_FILE.)` pour uploader les gros fichiers sur owncloud.
Ces fichiers seront concaténés au moment de leur import sur l'interface.
- Compresser (sans tarball, juste via **gzip**[^gz]) les fichiers lorsque c'est utile (memory dump, images BMP, disques, fichiers textes, ...).
Indiquez dans le fichier `DIGESTS.txt` les hash du fichier compressé (utilisé par la plateforme pour vérifier que le fichier distribué n'a pas été altéré) **et** le hash du fichier initial décompressé (pour l'affichage sur la plateforme).
- Utiliser `$(split -b 240M -d BIG_FILE BIG_FILE.)` pour uploader les gros fichiers sur **owncloud**.
Ces fichiers seront concaténés automatiquement au moment de leur import sur la plateforme.
Seul le hash du fichier entier est requis dans le fichier `DIGESTS.txt`.
[^gz]: l'intérêt de `gzip` est que le serveur web sera capable de distribuer le fichier sans faire apparaître la compression. Voir le [module nginx utilisé](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html).

View File

@ -23,9 +23,9 @@ Le fichier `challenge.txt` définit les paramètres de votre défi (au format [t
* `showlines = false` : (facultatif, par défaut : `false`) lorsque le drapeau est un tableau et que `showlines` est vrai, le nombre d'éléments du tableau sera donné au participant, sinon il devra déterminer lui-même le nombre d'éléments à trouver (pour l'instant cette option est limitée à un tableau de 9 éléments maximum, c'est normal si ça bug au delà, demandez-moi si vous avez besoin de plus) ;
* `ordered = false` : (facultatif, par défaut : `false`) ignore l'ordre dans lequels les éléments du tableau sont passés ;
* `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
* `casesensitive = true` : (facultatif, par défaut : `false`) prend en compte la case de ce drapeau ;
* `casesensitive = true` : (facultatif, par défaut : `false`) prend en compte la casse de ce drapeau ;
* `placeholder = "dd/mm/yyyy"` : (facultatif) chaîne de caractères initiale placée dans le champ du formulaire, idéale pour donner une indication de format ;
* `help = "Complément"` : (facultatif) petit paragrpahe placée sous le champ du formulaire, idéal pour donner une indication complémentaire ;
* `help = "Complément"` : (facultatif) petit paragraphe placé sous le champ du formulaire, idéal pour donner une indication complémentaire ;
* `choices_cost = 42` : (facultatif) coût pour afficher les choix : avant l'affichage, se comporte comme un drapeau `key` classique (à 0, les choix sont affichés directement)
* `noshuffle = true` : (facultatif, par défaut `false`) conserve l'ordre des propositions, au lieu de les mélanger ;
* `[[flag.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu :

View File

@ -36,6 +36,15 @@ uploader, seule la somme de contrôle du fichier entier, avant découpage, est
nécessaire.
## Cas des fichiers compressés (`gzip`és)
Si vous avez `gzip`é votre fichier pour qu'il soit distribué décompressé,
indiquez dans votre `DIGESTS.txt` à la fois :
* **le condensat du fichier compressé :** il sera utilisé par la plateforme lors de l'import de vos défis afin de s'assurer que les fichiers n'ont pas été altéré durant l'un des multiples transferts,
* **le condensat du fichier initial, décompressé :** c'est celui qui sera affiché dans l'interface, aux participants.
## Exemple
```

View File

@ -43,7 +43,7 @@ noshuffle
: (facultatif, par défaut : `false`) conserve l'ordre des propositions, au lieu de les mélanger ;
help
: (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ;
: (facultatif) chaîne de caractères placée près du formulaire, idéale pour donner une indication de format (pas encore implémenté faute d'usage concret, n'hésitez pas à demander si vous avez un usage).
## Propriétés des choix

View File

@ -14,7 +14,7 @@ La résolution de ce flag peut se faire en deux étapes : lorsque le participant
```toml
[[flag]]
type = "mcq"
type = "justified"
label = "Fichiers exfiltrés :"
[[flag.choice]]
@ -23,7 +23,7 @@ label = "Fichiers exfiltrés :"
[[flag.choice]]
label = "Tableurs Excel"
raw = "Salaires09.xls"
help = "Indication utile si besoin"
placeholder = "Indication utile si besoin"
casesensitive = true
[[flag.choice]]
@ -48,7 +48,7 @@ noshuffle
: (facultatif, par défaut : `false`) conserve l'ordre des propositions, au lieu de les mélanger ;
help
: (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ;
: (facultatif) chaîne de caractères placée près du formulaire, idéale pour donner une indication de format (pas encore implémenté faute d'usage concret, n'hésitez pas à demander si vous avez un usage).
## Propriétés des choix
@ -71,8 +71,11 @@ casesensitive
ordered
: (facultatif, par défaut : `false`) ignore l'ordre dans lequels les éléments du tableau sont passés ;
placeholder
: (facultatif) chaîne de caractères placée dans le champ du formulaire avant la frappe, idéale pour donner une indication de format ;
help
: (facultatif) chaîne de caractères placée dans le champ du formulaire avant la frappe (*placeholder*), idéale pour donner une indication de format ;
: (facultatif, rarement utilisé) chaîne de caractères placée sous le champ du formulaire, idéale pour donner un détail supplémentaire.

View File

@ -4,7 +4,7 @@ title: Flag simple
weight: 5
---
Ce type de flag s'utilise pour valider toute chaîne de caractère que l'on
Ce type de flag s'utilise pour valider toute chaîne de caractères que l'on
retrouve brute dans les fichiers donnés (ou après un traitement
_déterministe_).
@ -43,7 +43,7 @@ raw = 'rech1aichoh2Tei1ohHe'
casesensitive = true
```
Pour un mot de passe, ou une chaîne de caractère comme un token, ... qui sera
Pour un mot de passe, ou une chaîne de caractères comme un token, ... qui sera
forcément recopiée par les participants, on impose le respect strict de la
casse.
@ -80,8 +80,11 @@ validator_regexp
casesensitive
: (facultatif, par défaut : `false`) prend en compte la la casse de ce drapeau lors de la validation ;
placeholder
: (facultatif) chaîne de caractères placée dans le champ du formulaire avant la frappe, idéale pour donner une indication de format ;
help
: (facultatif) chaîne de caractères placée dans le champ du formulaire avant la frappe (*placeholder*), idéale pour donner une indication de format ;
: (facultatif, rarement utilisé) chaîne de caractères placée sous le champ du formulaire, idéale pour donner un détail supplémentaire.
## Rendu

View File

@ -49,8 +49,11 @@ ordered
casesensitive
: (facultatif, par défaut : `false`) prend en compte la la casse des drapeaux lors de la validation ;
placeholder
: (facultatif) chaîne de caractères placée dans le champ du formulaire avant la frappe, idéale pour donner une indication de format ;
help
: (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ;
: (facultatif, rarement utilisé) chaîne de caractères placée sous le champ du formulaire, idéale pour donner un détail supplémentaire.
## Rendu