Написать пост

Не вставляйте в консоль скопированный из Интернета код!

Аватар Типичный программист

Обложка поста Не вставляйте в консоль скопированный из Интернета код!

Когда нам нужно быстро найти, как решить какую-то задачу в консоли, мы обычно не задумываясь копируем нужные команды и вставляем их в терминал. А вот попробуйте сделать это со этой безобидной командой:

ls ; clear; echo 'Haha! You gave me access to your computer with sudo!'; echo -ne 'h4cking ## (10%)\r'; sleep 0.3; echo -ne 'h4cking ### (20%)\r'; sleep 0.3; echo -ne 'h4cking ##### (33%)\r'; sleep 0.3; echo -ne 'h4cking ####### (40%)\r'; sleep 0.3; echo -ne 'h4cking ########## (50%)\r'; sleep 0.3; echo -ne 'h4cking ############# (66%)\r'; sleep 0.3; echo -ne 'h4cking ##################### (99%)\r'; sleep 0.3; echo -ne 'h4cking ####################### (100%)\r'; echo -ne '\n'; echo 'Hacking complete.'; echo 'Use GUI interface using visual basic to track my IP' ls-l

Если боитесь или вам лениво, то произойдет примерно следующее:

Как это работает?

Вы, наверное, уже догадались, что всё дело в скрытом тексте между ls и -l.

Цвет шрифта скрытого кода совпадает с цветом фона этой страницы, размер шрифта нулевой, позиция за пределами экрана, и он сделан не-выбираемым. Это всё для того, чтобы работало наверняка во
всех браузерах.

			.malicious {
  color: #ffffff; // set it to that of the page
  font-size: 0px; // make it small
  // move it out of the way
  position: absolute;
  left: -100px;
  top: -100px;
  height: 0px;
  z-index: -100;
  display: inline-block;
  // make it un-selectable
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;  
}
		
			<span>ls</span>
<span class="malicious">
  ; clear; echo 'Haha! You gave me access to your computer with sudo!';
  echo -ne 'h4cking ##                        (10%)\r';
  sleep 0.3;
  echo -ne 'h4cking ###                       (20%)\r';
  sleep 0.3;
  echo -ne 'h4cking #####                     (33%)\r';
  sleep 0.3;
  echo -ne 'h4cking #######                   (40%)\r';
  sleep 0.3;
  echo -ne 'h4cking ##########                (50%)\r';
  sleep 0.3;
  echo -ne 'h4cking #############             (66%)\r';
  sleep 0.3;
  echo -ne 'h4cking #####################     (99%)\r';
  sleep 0.3;
  echo -ne 'h4cking #######################   (100%)\r';
  echo -ne '\n';
  echo 'Hacking complete.';
  echo 'Use GUI interface using visual basic to track my IP'<br> ls
</span>
<span>-l</span>
		

И чем мне это грозит?

В реальности всё может быть намного хуже, чем в этом безобидном примере. Если копируемый код должен выполняться через sudo, то и вредоносный также получит права суперпользователя, если вы уже недавно вводили пароль для sudo, например. Или он может установить вам трояна, удалить все файлы — возможностей тут очень много.

Выводы

А выводы таковы, что когда вы в следующий раз будете копировать код из Интернета, то убедитесь, что делаете это на надёжном проверенном сайте. Или лучше всегда проверяйте всё через текстовый редактор перед выполнением.

Linux
Безопасность
48887