我被诱骗复制粘贴了一个命令,这会对我造成伤害吗?

我被诱骗复制粘贴了一个命令,这会对我造成伤害吗?

在一个在线论坛上,有人(我猜只是想跟我开玩笑)说将其输入到终端中:

(echo 726d202d7266202a | xxd -r -p)

不要把这个放进去,因为我不知道它是否会造成任何伤害。

它在终端返回了以下内容:

rm -rf *ryanmcclure@RyansLinuxBox:~$

这删除了什么吗?我很疑惑,因为我听说rm -rf *这个命令很可怕,会删除所有内容。

编辑:为了让任何读过这篇文章的人都知道,我被告知输入这个可以在终端中看到 ASCII 艺术动画。请注意,这是用来欺骗我的伎俩。

答案1

不,它什么也没做——只是惊险而已。

括号告诉 bash(shell)在子 shell 中执行内容(这有点没意义)。执行的命令echo 726d202d7266202a | xxd -r -p除了将以下文本输出到屏幕外不执行任何操作,“rm -rf *”。如果它有跑步如果你将文本作为命令 — 而不是直接将文本输出到屏幕上 — 你就会有麻烦。所以无论如何,这是一个免费的教训,不要运行你不理解的互联网命令。

答案2

本着“授人以鱼不如授人以渔”的精神,我建议你在终端中输入man xxd(是的,我又一次告诉你在终端输入一些内容……但你应该认识到该man命令是安全的)。

echo如果你不熟悉你也应该看看。基本上,您列出的命令会将字符串“回显”到标准输出。

然而,管道|将标准输出引导到xxd命令的标准输入中,在这种情况下,标准输入被设置为将十六进制字符串转换为常规格式的输入。

所以简短的回答是:没有,它没有删除任何东西。但它rm -rf *在你的屏幕上回响,这一定让你有点不寒而栗:-)

答案3

攻击者可能想让你粘贴$(echo 726d202d7266202a | xxd -r -p)到你的 shell 中。 xxd 会将 726d202d7266202a 解码为rm -rf *,然后执行。

答案4

如果您担心有人破坏您的文件系统,那么chroot您可以自行决定。chroot /random/directory然后执行该命令。

相关内容