Update content for 2022
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
3c46441b78
commit
bb27b82594
|
@ -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).
|
||||
|
|
|
@ -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 :
|
||||
|
|
|
@ -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
|
||||
|
||||
```
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue