help/content/responses/simple.md

2.8 KiB

date title weight
2019-04-05T15:59:52+02:00 Flag simple 5

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).

Attention, par défaut, les propositions ne sont pas sensible à la casse1.

Exemple

[[flag]]
label = "IPv6 d'exfiltration"
raw = 'fe80::319c:1002:7c60:68fa'

Dans cet exemple, l'importance de la casse de l'IPv6 n'est pas importante, on laissera donc le participant entrer l'IPv6 comme il le désire, même si elle peut être copiée/collée.

Flag strict, sensible à la casse

On utilise la propriété casesensitive pour forcer la prise en compte de la casse lors de la vérification du flag.

Exemple

[[flag]]
label = "Mot de passe du compte"
raw = 'rech1aichoh2Tei1ohHe'
casesensitive = true

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.

Flag modulable

Exemple

Si par exemple, on estime que plusieurs réponses sont correctes (ici, plusieurs secondes) :

[[flag]]
label = "Heure de l'exfiltration"
raw = '11:22:33+02:00'
validator_regexp = "([0-9]{1,2}):([0-9]{1,2}):[0-9]{1,2}"

Propriétés

id
(facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ;
label
(facultatif, par défaut : Flag) intitulé du drapeau ;
raw
drapeau exact à trouver ; sous [forme de tableau]({{< relref "/responses/vector.md" >}}), le participant n'aura pas connaissaance du nombre d'éléments ;
validator_regexp
(facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que ?: au début d'un groupe ne le capturera pas) ;
sort_validator_regexp_groups
(facultatif, par défaut : false) trie les groupes capturant par ordre alphabétique avant concaténation ;
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 ;
unit
(facultatif) chaîne de caractères ajoutée à la fin du champ pour indiquer une information complétant le flag, par exemple l'unité de mesure attendue ;
help
(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

Rendu flag simple


  1. Casse selon les classes Unicode de charactères, ce ne concerne pas que l'alphabet traditionnel. Pour plus d'infos, consultez la documentation de la fonction utilisée. ↩︎