Хоча використання cat
може не призвести до виконання коду, коди евакуації будуть оброблені, так що ви можете легко ввести в оману, вважаючи, що сценарій нешкідливий, оскільки він справді є шкідливим.
Ось приклад команди, яку ви можете запустити, яка створить "шкідливий" скрипт оболонки:
echo -e '#!/bin/sh\necho "...doing something bad here..."\nexit\n\033[A\033[Aecho "Hello dear reader, I am just a harmless script, safe to run me!"' > demo.sh
chmod a+x demo.sh
Оглядаючи файл, він здається досить нешкідливим:
$ cat demo.sh
#!/bin/sh
echo "Hello dear reader, I am just a harmless script, safe to run me!"
Але якщо ви насправді запускаєте це ...
$ ./demo.sh
...doing something bad here...
Сценарій працює, включаючи необроблені коди евакуації для переміщення курсору на пару рядків, тому решта сценарію записується вгорі шкідливого коду, приховуючи його.
Майже будь-яка інша програма розкриє сценарій того, що це таке. Тільки програма , які не обробляють вміст файлу (наприклад cat
, more
і less -r
) буде виробляти оманливий вихід.
Слід зазначити , що tail
і head
також виробляють один і той же вихід вводить в оману. Тому використання "менше + F" безпечніше, ніж "хвіст -f".