Спасибо тебе, Google!

Спасибо тебе, Google!
Анализируя события HTTP_Post систем обнаружения ,я поймал ряд POST-ов на gmail . Сохранение пакетов событий было настроено, таким образом, мне были доступны пакеты примерно следующего вида:

Возникла идея на удачу попробовать ретранслировать пойманный пакет. Я был полон уверенности, что такая простая атака не пройдет с Google, тем не менее, любопытство взяло свое, и я решил все-таки попробовать.

Для ретрансляции я использовал TamperData , поместив в строке запроса Firefox то, что было в строке POST,запустил перехват:

Согласившился с запросом вмешаться:

В появившемся списке заголовков я добавил/отредактировал Cookieи Referer, взяв их из пойманного пакета:

Я продолжал соглашаться с вмешательством и подставлять Cookieдо тех пор, пока промптеры о необходимости вмешаться престали появляться. Я отключил перехват. Примечательно то, что в окне браузера я все же не увидел Inboxдругого пользователя (жертвы, чей пакет был пойман), чего, собственно, я и ожидал. Тем не менее, снова, так просто, на всякий случай, я набрал в строке браузера http://mail.google.com/mail/ и, к своему удивлению, провалился в Inboxжертвы.

Описанное выше происходило в пятницу 14 Марта, вечером. Тогда я решил, что возможно, Cookieеще не успели протухнуть, хотя, то, что эти Cookieможно повторно использовать – уже уязвимость, которую необходимо исправлять.

17 Марта, утром я повторил ту же самую, описанную выше процедуру, взяв за основу тот же самый пакет. К своему ужасу я снова попал в тот же ящик, сделав вывод, что пойманные мной Cookieне протухают никогда.

Далее, я решил выйти из ящика жертвы, сказав “Signout”. Примечательно, что после этого действия фокус перестал работать: сколько я не пытался повторно послать пакет, я не попадал в Inboxжертвы.

Поскольку я сам являюсь фанатом и активным пользователем сервисов Google, я описал все свои дознания в службу поддержки Google (в раздел советов по улучшению http://mail.google.com/support/bin/request.py?contact_type=suggest )

На мой взгляд (я не считаю себя глубоким специалистом в безопасности Web),на тот момент были возможны следующие «улучшения»:

·Сделать Cookieодноразовыми или как-то шифровать их – это сделает невозможным их повторное использование;

·По окончании работы с GMAILпринудительно завершать сессию пользователя (принудительный Signout), чтобы никакие Cookieне воспринимались вообще.

Никакой обратной связи о том, что мое «улучшение» принято/отклонено/в таком-то статусе, не было, тем не менее, на следующий день, 18 Марта я решил попробовать работает ли фокус(конечно, я взял другую жертву, не ту, которой я сказал “Signout”) и, внимание, фокус не работал: как бы я не пытался повторно переслать пойманные пакеты, я постоянно попадал в приглашение ввести логин/пароль. Мне остается только гадать о том, была ли эта простейшая уязвимость изначально и потом исправлена после получения моего «улучшения», или уязвимость проявилась как побочный эффект каких-то работ, которые проводились наGoogle. Важно, что проблема исчезла, к тому же так быстро!

Alt text

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться

Сергей Солдатов

REPLY-TO-ALL is a double language blog (English/Russian) run by three information security practitioners. Want to discuss information security problems? This is the place.