Bonjour,
Dans le script que j'utilise pour réaliser mes synchronisations, je lis les répertoires à synchroniser dans un fichier texte (
rep2sync.txt).
Après un rhum bien tassés hier soir (avec modération bien sûr
), je me suis rendu compte qu'il était tout à fait possible de trafiquer mon
rep2sync.txt afin de lancer une commande non prévue dans le script. En effet
rep2sync.txt est lu ligne par ligne, chaque ligne est stockée dans une variable locale, laquelle est utilisée en argument de
rsync.
Si une ligne de
rep2sync.txt est du style
"/rep/to/sync ; une_commande", je pense que
rsync va planter (pas de cible) puis
une_commande va être exécutée.
Est-ce bien le cas et si oui comment se prémunir de ce type de faille ?
J'ai pensé à simplement tester la validité du répertoire contenu dans la variable locale, mais :
- c'est une solution dans mon cas d'usage ;
- l'exécution de
une_commande pourrait de toute façon être obtenue lors du test en adaptant le texte de la variable (?)
Alors existe-t-il une façon
'clean' de s'assurer que le texte contenu dans une variable ne sera pas interprété ?
Sylvain
Dernière modification par sylvain_78 (27-11-2023 12:04:13)