On m'a trompé pour copier une commande, est-ce que ça m'a fait mal?

129

Sur un forum en ligne, quelqu'un (je suppose juste pour traîner avec moi) a dit de saisir ceci dans le terminal:

(echo 726d202d7266202a | xxd -r -p)

NE PAS METTRE CELA PARCE QUE JE NE SAIS PAS SI CELA D’IMPOSE TOUT.

Il a renvoyé ceci dans le terminal:

rm -rf *[email protected]:~$

Est-ce que cela a effacé quelque chose? Je me demande parce que j'ai entendu rm -rf * est cette horrible commande qui supprime tout.

Edit: Juste pour que quiconque lit ceci soit au courant, on m'a dit de saisir ceci pour voir une animation d'art ASCII dans le terminal. Soyez averti que c'est le truc qui a été utilisé pour me tromper.

    
posée Ryan McClure 23.04.2012 - 17:27
la source

4 réponses

156

Non, ça n'a rien fait - c'est juste un appel rapproché.

La parenthèse indique à bash (le shell) d’exécuter le contenu dans un sous-shell (ce qui est inutile). La commande exécutée echo 726d202d7266202a | xxd -r -p ne fait rien sauf sortir le texte suivant à l'écran, "rm -rf *". Si exécuter ce texte en tant que commande - au lieu de simplement afficher le texte à l’écran - vous auriez des problèmes. Donc, de toute façon, laissez cela être une leçon gratuite pour ne pas exécuter des commandes sur Internet que vous ne comprenez pas.

    
réponse donnée Michael Kropat 23.04.2012 - 17:40
la source
89

Dans l'esprit de "il vaut mieux apprendre à un homme à pêcher que lui donner un poisson", je vous conseille de taper dans le terminal man xxd (et oui, je suis encore une autre personne qui vous demande de saisir quelque chose dans le terminal ... mais vous devriez reconnaître la commande man comme étant sûre) .

Si vous n'êtes pas familiarisé avec echo , vous devriez vérifier cela aussi . Fondamentalement, la commande que vous avez listée "renvoie" la chaîne à la sortie standard.

Le tube | canalise cependant cette sortie standard dans l'entrée standard de la commande xxd , qui dans ce cas est configurée pour convertir une chaîne en hexadécimal en entrée formatée régulière.

La réponse est donc courte: non, elle n’a rien effacé. Mais il a fait écho à rm -rf * à votre écran, ce qui a dû vous donner un peu de frisson: -)

    
réponse donnée Chan-Ho Suh 23.04.2012 - 17:41
la source
34

L’attaquant a probablement voulu vous faire coller $(echo 726d202d7266202a | xxd -r -p) dans votre shell. xxd décoderait 726d202d7266202a en rm -rf * , qui serait alors exécuté.

    
réponse donnée xn. 23.04.2012 - 18:28
la source
1

si vous craignez que quelqu'un pique votre système de fichiers, alors chroot est à votre disposition. chroot /random/directory exécute alors la commande heck out.

    
réponse donnée PnotNP 14.05.2012 - 22:45
la source

Lire d'autres questions sur les étiquettes