Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
~$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"bash: внимание: x: ignoring function definition attemptbash: ошибка при импортировании определения функции`x'this is a test
~$ env X='() { (a)=>\' sh -c "echo date"; cat echodatecat: echo: Нет такого файла или каталога
pilot6@Pilot6:~$ env -i X='() { (a)=>\' bash -c 'echo date'; cat echobash: X: line 1: syntax error near unexpected token `='bash: X: line 1: `'bash: error importing function definition for `X'Fri Sep 26 16:08:37 MSK 2014
env -i X='() { (a)=>\' echo vunerable; echo done
vunerabledone
done
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"this is a test$ env X='() { (a)=>\' sh -c "echo date"; cat echodatecat: echo: Нет такого файла или каталога$ rpm -q bashbash-4.2.48-2.fc20.x86_64
Всё пофикшено:
Sly_tom_cat, для наличия уязвимости должен срабатывать код внутри переменной.Возможность выполнения команды после переменной — штатная фишка bash.
env X='() { (a)=>\' sh -c "echo date"; cat echo
date
$ echo datedate
там что есть разделитель после определения переменной?
man env
Код: [Выделить]env X='() { (a)=>\' sh -c "echo date"; cat echoВ уязвимой версии эта команда создаёт файл echo с результатом выполнения команды date.В пофикшеной версии просто выполняет "echo date".
env -i X='() { (a)=>\' bash -c "echo date"; cat echo
env -i X='() { (a)=>\' sh -c "echo date"; cat echo
Страница сгенерирована за 0.034 секунд. Запросов: 25.