Свежие баги новой почты

xbit (stream@oskolnet.ru)

Хакер, номер #076, стр. 076-064-1

Уязвимости постового сервера newmail.ru

Есть люди, которые совершенно забивают на безопасность своего проекта. Дело не в том, что они сами не разбираются в этом и не могут позволить себе нанять профессионала. Дело в самом нежелании усиливать security и в непонимании важности этой составляющей. Что из этого получается, все мы знаем – длинная лента задефейсенных сайтов на багтраке. Крупные сервисы защищены намного лучше. Случаи поломок таких систем крайне редки. Но это впрочем, не всегда так. Сегодня я расскажу тебе о том, как менее чем за полчаса один хакер расправился с пятью сайтами в домене NewMail, занимающихся обманом людей.

Как все начиналось

Вся история, как и многие подобные ей, началась поздним вечером. Автор, прогуливавшись по сети, решил зайти на ЖЖ дневник одного знакомого. Оставив свой коммент я уже собирался уходить, как вдруг увидел ссылку рядом с user info. Эта ссылка вела на его сайт, о существовании которого я и не подозревал. На сайте пробыл не долго - читать там было практически нечего – типичная хомпага. Мое внимание привлекла ссылка на архив фотографий. Поскольку весили они не так много, я, недолго думая, кликнул по ней и начал ждать загрузки страницы. Но не тут-то было. Сайт находился на сервере Новой Почты, у которой насчет файлов своя политика (как, впрочем, и у многих других подобных сервисов). Перед отправкой файла их сервер проверял наличие cookies, которые у меня были заблокированы. Делалось это для того, чтобы помешать другим веб-мастерам ставить ссылки на чужие файлы, находящиеся на серверах NewMail.ru.

Волшебная страничка

В результате меня перебросило на страничку, содержащую ссылку на скачиваемый архив. Я уже хотел было забрать его, но мои глаза по привычки устремились в адресную строку браузера. Она выглядела так: http://www.newmail.ru/messages/file.dhtml?file=some.newmail.ru/archiv/switch/frend.jpg. Такой поворот событий в раз заставил забыть меня о чужих фотках :). Тем более, что я очень люблю, когда параметры задаются в виде ссылки, обычно такие системы содержат много багов. Так оказалось и в этот раз. Я сразу же начал подставлять туда значения типа ../../../../etc/passwd. Но это естественно не заработало. В принципе я даже не рассчитывал, что это что-то даст, но попробовать из интереса ничего не мешало. В ходе таких подстановок, я заметил, что значение переменной file подставляется а адрес ссылки на файл. То есть, если я запрашиваю файл some.newmail.ru/archiv/switch/frend.jpg на странице это будет выглядеть как http://some.newmail.ru/archiv/switch/frend.jpg. Тогда я решил посмотреть, проверяет ли скрипт переменную на наличие спецсимволов, а именно - html тегов. Вместо строки с адресом архива я подставил <h1>ПРИВЕТ, БАЖНЫЙ СКРИПТ</h1>. Если ты посмотришь на скриншот, то увидишь что из этого получилось.

Переменная file не фильтровалась. То есть, в страницу можно внедрить любой HTML код. Но что это даст? Если кто-то из читателей является «счастливым» владельцем почтового ящика или сайта на новой почте, то пусть вспомнит, как проходит авторизация. Первый раз тебя просят ввести логин и пароль, которые записываются в cookie в виде идентификатора сессии. После данной операции почтовики узнают и без авторизации. Причем хочешь ты того или нет – запретить запись сессии в Куки невозможно – это делается насильно. Те, кто давно читают наш журнал наверняка уже догадались как можно выжать выгоду из этой ситуации. Тем более, что о взломе Новой Почты мы уже писали.

Содержание  Вперед на стр. 076-064-2
ttfb: 3.3369064331055 ms