7

Сегодня я нашел интригующий пример website-terminal-copy-paste. Например, вам может понадобиться клонировать репозиторий 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 ответ1

1

Это зависит от того, каким параноиком ты хочешь быть. Но, чтобы быть в безопасности, вы должны сначала убедиться, что вы понимаете команду, а затем ввести ее в себя.

Если вы не доверяете источнику, не принимайте входные данные без его очистки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .