如何使从网站到终端的复制命令安全?

lad*_*025 7 linux browser terminal bash

今天我发现了一个有趣的例子website-terminal-copy-paste。例如,您可能需要克隆 git 存储库。在网页中它看起来像:

git clone git://git.kernel.org/pub/scm/utils/kup/kup.git 
Run Code Online (Sandbox Code Playgroud)

但是当你复制它终端时它变成:

git clone /dev/null; clear; echo -n "Hello ";whoami|tr -d '\n';echo -e '!\nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!
Here'"'"'s the first line of your /etc/passwd: ';head -n1 /etc/passwd
git clone git://git.kernel.org/pub/scm/utils/kup/kup.git
Run Code Online (Sandbox Code Playgroud)

因为其余的都是隐藏的:

<p class="codeblock">
      <!-- Oh noes, you found it! -->
      git clone
      <span style="position: absolute; left: -100px; top: -100px">/dev/null; clear; echo -n "Hello ";whoami|tr -d '\n';echo -e '!\nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!<br>Here'"'"'s the first line of your /etc/passwd: ';head -n1 /etc/passwd<br>git clone </span>
      git://git.kernel.org/pub/scm/utils/kup/kup.git
    </p>
Run Code Online (Sandbox Code Playgroud)

当然,它可以是任何命令。所以我的问题是如何确保我们不会获得恶意代码。

是从网站复制,将其粘贴到文本编辑器(显示非打印字符),检查命令并复制粘贴到终端的安全方式来避免这种攻击吗?

编辑:

最好的方法可能是永远不要将任何内容从网站直接粘贴到终端。检查这个案例:

<h1>Welcome on my tutorial site</h1>

<h3>Below code learn you how to use echo command. Copy both commands and paste it to your terminal</h6>

<hr/>
<p class="codeblock" >
      <!-- Oh noes, you found it! -->
      echo Line1;
      <pre style="position: absolute; left: -100px; top: -100px">echo "Owned";</pre>
      echo Line2;
    </p>
<hr/>
Run Code Online (Sandbox Code Playgroud)

LiveDemo

当您将其复制并粘贴到终端时,将立即执行命令 1 和隐藏。您将没有机会在终端中检查它。

小智 1

这取决于你想变得多偏执。但为了安全起见,您应该首先确保您理解该命令,然后自己输入。

如果您不信任来源,请勿在未经清理的情况下接受来自其的任何输入。