Как угоняют уины через дыры в icq.com
Как известно, большинство сайтов в Сети являются уязвимыми. И не
обязательно это обычные домашние странички: нередко баги можно
встретить даже у таких гигантов, как Майкрософт, NASA и ICQ. Хотя
администраторы и научились защищать свои творения от php-инклудов и
sql-инъекций, CSS дыры как были, так и остаются. А все оттого, что, по
мнению многих глупых админов, через CSS ничего серьезного сотворить
нельзя. Надеюсь, моя статья сегодня развеет это приевшееся мнение. Я
расскажу, как я угоняю icq-уины через баг на сайте icq.com.
Intro
Это была поистине удачная неделя: sql-инъекция на одном из сайтов
NASA, дыры во phrack.org и еще масса завораживающих воображение
найденных уязвимостей. Вот оказывается, какое вдохновение находит на
человека, когда вся его родня на неделю сваливает на дачу. В общем,
творческий рай для хакера :).
Итак, история эта началась, как не удивительно, ночью. Сидел я и
изучал новый установленный icq-клиент qip, и переметнуло меня на поиск
багов в самом главном серванте всех айсикьюшников - icq.com. Давно собирался, честно говоря, но начал именно после знакомства с новым клиентом.
CSS через icq клиент
На сайте icq можно просмотреть профайл любого пользователя,
зарегистрированного в системе. При этом можно посмотреть его аватарку,
личные данные, и даже накатать ему сообщение. Ну, ты знаешь. К примеру,
профайл моего бывшего уина 559822, находится по адресу: www.icq.com/whitepages/wwp.php?to=559822.
Копаясь в клиенте, меня осенило: а что если осуществить межсайтовый
скриптинг на этой странице? Вопрос: «Как?» Ответ: «Очень просто». В
настройках пользователя клиента, вводим данные, они загружаются на сайт
и отображаются (срабатывают) на странице профайла. В принципе все
легко, но оказалось, что есть всего два уязвимых параметра: «Имя» и
«Фамилия». Поле «Ник» отбросим: он нам не интересен :). Но тут еще один
облом: ограничение на количество вводимых символов. Поэтому для
локального алерта, к примеру, пришлось прибегнуть к той штуке, которую
ты видишь на скрине под номером 1. То есть вбить в поле «Имя» первую
часть элементарного скрипта, а завершающую часть разместить в поле
«Фамилия».
Казалось бы, что тут можно придумать с такими ограничениями. Но мне
посчастливилось найти еще один уязвимый параметр, в котором количество
вводимых символов было равно 80 - это «Домашняя страница». Правда с
этим параметром будь осторожней: у меня так забанилось несколько уинов.
Хотя вполне возможно, что это не бан, а просто qip сходит с ума. Точно
не знаю, но уины ушли навсегда :(.
Для чего это можно использовать? К примеру, можно уводить чужие
уины, ну, или в крайнем случае, можно здорово поприкалываться. Скажем,
можно разместить в собственном профайле скрипт редиректа на свой сайт и
стебаться над удивлением людей, заходящих посмотреть профайл :). Вот
так, как у меня, полюбуйся: www.icq.com/whitepages/wwp.php?to=559822
дырки на форуме сайта icq.com]
В чем нам очень повезло, так это в том, что на icq.com практически
все сервисы находятся в одном поддомене. Следовательно, шансы найти
подходящую дыру и увести нужные кукисы заметно подрастают :).