30 июня 2005, то есть буквально вчера, появилось сообщение на секурных сайтах.
о том что phpBB снова облажался,
и опять по крупному. На секлабе был вывешен примерно такой бюллетень:
Выполнение произвольного PHP сценария
в phpBB в коде highlighting
Программа: phpBB 2.0.15
Опасность: Высокая
Наличие эксплоита: Нет
Описание:
Уязвимость позволяет удаленному пользователю выполнить произвольный PHP сценарий
на целевой системе.
Уязвимость существует из-за некорректного
использования функции preg_replace()
в сценарии 'viewtopic.php' при обработке
входных данных. Удаленный пользователь
может с помощью специально сформированного
запроса заставить приложение интерпретировать
входные данные как PHP сценарий и выполнить
его.
URL производителя: www.phpbb.com
Решение: Установите последнюю версию
(2.0.16) с сайта производителя. |
Тут же
все "скрипт-кидди" почуяли запах жаренного,
а точнее начали рыскать в поисках этого жаренного.
Я говорю об эксплоите.
Ищущий, да обрящет, и к концу этого же дня командаDigital Security Research
(!dSR) выпустила эксплоит, предоставляющий шелл на серваке с бажным
форумом. Я получил эту инфу от uinc, и тут же принялся за исследование сплоита
(а написан он на моем любимом perl). Быстренько
пробежавшись по коду, понял что написан он как всегда левой ногой (хотя к чести
кодеров надо заметить что написан сплойт с
прагмой use strict; что встретишь не часто). Хотя насчет левой ноги я конечно
преувеличиваю. Написан сплойт нормально, за
исключением некоторых вещей, которые я исправил в своей версии этого сплойта.
Наверно не стоило из-за этого писать статью, но я не смог уйти от соблазна
постучать по клаве по этому поводу :).
Итак, встречайте эксплойт под phpBB 2.0.15 который отличается от оригинального
- красотой исполнения :)).
Для начала я добавил возможность выхода из оболочки (аля phpbb shell'a) при
вводе команды exit.
Затем, после применения на одном сайте оригинального эксплоита, заметил что
вывод его ужасен.
К примеру команда id, выводила примерно следующее:
---------
<
- пустая строка
30
uid=..(apache);.....
f
.
<
--пустая строка
---------
Вывод засорен всяким хламом. При выводе содержимого каталога (комнда ls -la)
хлама было еще больше.
Помимо этого, алгоритм "вырезания" команды из ответа сервера меня так же поразил,
его я изменил на более изящный.
В результате получился удобный инструмент, и полноценный shell в результате
его применения.
рис 1. Красивый вывод каталога :)) Я нисколько не насмехаюсь над командой зарелизившей сплоит (наоборот - мое
почтение им), статья призывает лишь к тому чтобы писать, пусть даже и эксплоиты,
более качественно.
Хотя я
понимаю,
что
скорость
написания
сплоита к таким пустячным вещам как форумы, влияет на первенство в релизе этого
сплоита.
Удач!
|