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)
当您将其复制并粘贴到终端时,将立即执行命令 1 和隐藏。您将没有机会在终端中检查它。