Хакер #305. Многошаговые SQL-инъекции
Частенько на каком-нибудь сайте мы видим полезную команду для шелла. Не набирать же команду вручную? Хочется сразу взять её, скопировать с веб-страницы прямо в консоль — и запустить. Так вот, это может быть опасно.
Например, вот такая, казалось бы, безобидная команда.
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
Попробуйте скопировать и запустить её в терминале. Она должна быть совершенно безопасной, не так ли? Но в реальности посмотрите сами, что получится. Этот пример специально создан для демонстрации потенциальной опасности.
Вообще, желательно делать копипаст сначала в текстовый файл, где команду можно отредактировать перед выполнением. В оболочке bash есть сочетания клавиш для быстрого открытия текстового редактора: Ctrl+x, Ctrl+e, а в zsh нужно присвоить сочетание клавиш в .zshrc:
autoload edit-command-line zle -N edit-command-line bindkey '^Xe' edit-command-line
P.S. Вот каким способом можно вставить скрытый текст даже без использования JavaScript, как это сделано в нашем примере.
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