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

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

今天我发现了一个有趣的例子网站终端复制粘贴。例如,您可能需要克隆 git 存储库。在网页上它看起来像:

git clone git://git.kernel.org/pub/scm/utils/kup/kup.git 

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

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

因为其余部分被隐藏了:

<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>

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

从网站复制、粘贴到文本编辑器(显示非打印字符)、检查命令并复制粘贴到终端是否可以安全地避免此类攻击?

编辑:

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

<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/>

LiveDemo

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

答案1

这取决于你想有多谨慎。但为了安全起见,你应该先确保自己理解命令,然后再自己输入。

如果您不信任该来源,请不要接受任何未经过净化的输入。

相关内容