SHS - это все-таки шалости. :) Процент веб-сайтов на нем даже в Рунете настолько мал, что встретить его невероятно трудно. Любой сервер - это почти наверное либо Apache, либо IIS. Так что сегодня мы будем ломать самый популярный из них - Apache, а точнее -
сайт, предоставляющий бесплатный хостинг с возможностью создания страничек через веб-интерфейс.
Собственно сам
Apache -то ни в чем и не виноват, виновата фирма
Weblink, которая выпустила на рынок это поделие, обладающее довольно хорошим интерфейсом и довольно опасной дырой.
Предисловие. Сколько раз твердили миру, что оставлять что-либо настроеным по-умолчанию - плохо, что к каждой оставленой в живых директиве надо подходить с точки зрения параноика. В итоге получился сервис, где можно получить доступ к SSI-дерективам и, самое главное, командам шела.
Иследуя этот сервис вчера вечером я обратил внимание на присутствующий там HTML-редактор, который заинтересовам меня возможностью вставки любого текста в *исходный* файл. Не особо-то надеясь на успех я попробовал ввести туда
SSI-тег, распечатывающий переменные окружения и сохранить его, как shtml.
К моему изумлению, мало того, что мне было позволено создать файл с расширением отличным от htm или html, но и SSI, включеный мной в файл, сработал, когда я попытался просмотреть страницу! Что ж, все это безусловно интересно, но для хацкера, пока, практической ценности не представляет.
По умолчанию, в конфигурации Apache разрешен запуск команд шел при помощи SSI. Вспомнив это, я решил проверить работоспособность <--#exec cmd --> и, в общем-то, не особо удивился, когда у меня все получилось. Вот, для примера, идентификатор пользователя из-под которого запускается демон Apache:
uid=505(apache) gid=509(apache) groups=509(apache)
|
Теперь, если вспомнить, что любой демон этого замечательного сервера, относящийся к любому виртуальному домену запускается из-под одного и того же пользователя, становится понятно, что с любым сайтом, находящийся на этой машине (кроме разве что www, ну должны же были они принять меры безопасности... или нет?) можно сделать все что угодно - удалить, поменять странички, добавить туда что-то свое... Добравшись до движка сайта, можно узнать пользователя и пароль СУБД и потенциально вытянуть оттуда информацию об всех учетных записях сервера estarter.ru, а значит и популярного некогда
Estart.Ru!
Напишу-ка я баг-репорт. :) Все-таки и я там зарегистрирован. Где-то. Впрочем нет, не буду. Все равно этим паролем я уже давно не пользуюсь и место жительства сменил, а вот люди, которые стали там жить после меня до сих пор смотрят на меня косо, так как Estart шлет мне на тот адрес различный мусор рекламного содержания и их этот бумажный спам уже порядком заколебал.
Так что, если кто-нибудь им там чего-нибудь поломает я не виноват - я этот материал предоставил ислючительно в поучительно-образовательных целях.