2.6 KiB
2.6 KiB
date | title | weight |
---|---|---|
2019-04-05T15:59:52+02:00 | Liste de choix | 20 |
Ce type de flag s'utilise pour valider une réponse que le participant aurait du mal à écrire correctement ou à déterminer sans avoir plus d'indications. C'est notamment le cas pour les numéros de CVE (la liste de choix permet alors de recentrer les recherches à effectuer), ou les types de payloads : comme chacun peut avoir sa façon d'écrire ou de nommer une charge malveillante.
Propriétés
- type
"ucq"
- 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 ; forme de [tableau]({{< relref "/responses/vector.md" >}}) possible, mais déconseillée ;
- validator_regexp
- (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) ; - ordered
- (facultatif, par défaut :
false
) ignore l'ordre dans lequels les éléments du tableau sont passés ; - casesensitive
- (facultatif, par défaut :
false
) prend en compte la la casse de ce drapeau lors de la validation ; - help
- (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ;
- choice_cost
- (facultatif, par défaut 0) coût pour afficher les choix : avant l'affichage, se comporte comme un
flag
classique (sichoice_cost
= 0, les choix sont affichés directement) ;
Propriétés des choix
- label
- (facultatif, par défaut
value
est utilisé) intitulé du choix ; - value
- valeur envoyé par le formulaire de validation lorsque le choix est sélectionné.
Exemple
[[flag]]
type = "ucq"
label = "Type de malware"
validator_regexp = "^.*(dropper).*$"
raw = "Il installe quelque chose à son tour ! Il s'agit d'un dropper."
choices_cost = 25
[[flag.choice]]
value = "Il exécute arbitrairement une commande passée en paramètre par un botnet !"
[[flag.choice]]
value = "Un évènement est déclenché à un temps précis ! Il s'agit d'un logic-bomb !"
[[flag.choice]]
value = "Il supprime tout dans le disque."
[[flag.choice]]
value = "Il installe quelque chose à son tour ! Il s'agit d'un dropper."
[[flag.choice]]
value = "Il communique avec un autre ordinateur à distance."
Rendu
Rendu avec choice_cost > 0
Le participant a la possibilité d'écrire lui-même le type de malware dans un premier temps, mais s'il n'y arrive pas, il peut dépenser 25 points pour obtenir une liste de choix.