|
1. Введение Эта статья является примером того, как можно использовать уязвимость, описанную в статье «Обход javascript фильтров — Flash! Атака»[1]. XSS в веб интерфейсе почты даст возможность атакующему перехватить сессию аутентификации и получить доступ к корреспонденции пользователя и настройкам аккаунта. Для успешной атаки злоумышленник должен создать swf файл способный перехватить cookies пользователя и передать их скрипту расположенному на сервере атакующего. Далее атакующий, получив cookies, должен будет использовать их для аутентификации. Рассмотрим все действия подробно. 2. Реализация Для отправки почты жертве атакующий будет использовать этот PHP скрипт. Скрипт отправляет html письмо с прикрепленным flash файлом postcard.swf. Содержание письма замаскируем под открытку. Выберем, например вот эт:у http://cards.yandex.ru/previewcard.xhtml?cardid=1797 открытку и создадим её в системе, отправив самому себе на СВОЙ аккаунт. В результате получим html код, который шлёт настоящая открытка и ссылку на открытку с поздравлением в системе Яндекс открытки. Ссыка выглядит приблизительно так: http://cards.yandex.ru/message.xhtml?id … cae2c7bf0f Пример html-кода открытки: Здравствуйте, isjustatest@yandex.ru Службой Яндекс.Открытки Вам доставлено сообщение от пользователя: секрет. Для просмотра открытки нажмите на ссылку: или скопируйте линк в окошко "адрес" Вашего браузера ____________________________________________________________ Яндекс.Открытки http://cards.yandex.ru ,где вместо {POSTCARD} будет помещена ссылка на прикрепленный файл postcard.swf. Жертва, получившая послание и открывшая письмо увидит что-то вроде этого: Скрин: http://rts.h15.ru/st/xss1.gif Скрин: http://rts.h15.ru/st/xss2.gif Теперь если нажать на ссылку обведенную красным, то откроется открытка расположенная по адресу http://cards.yandex.ru/message.xhtml?id … cae2c7bf0f и жертва лишится cookies. Посмотрим, что представляет из себя файл postcard.swf: Скрин: http://rts.h15.ru/st/xss3.gif Как мы видим, javascript передаёт значения cookies методом GET скрипту grab.php: ---------------------------% ---------------------------%<---------------------------------- скрипт получает значения cookies и location и записывает их в файл log.txt: ---------------------------%<---------------------------------- Cookies: yabsfrequency= 296972.2:291605.1:293272.1:288871.1:289898.1:288848.1:269794.1:268616. 1:289013.3:244013.5:288082.2:259961.5:288833.1:289217.3:289810.1:291604.2:288851 .1:292964.2:289973.1:289987.1:290010.1:296852.2:297775.1:288974.1; mail_tag=yandex.ru; yandex_login=isjustatest; my=YwECAAEIAAwABwAVABYADgAA; yandexuid=2042291113573567; Session_id=1115790036.75.0.12019287.2:27846757:5.13439.63498.8fef1790dfc6f79ca36 b225fa8e0aac6; yandex_fio=Васин Вася; yandex_mail=isjustatest; yandex_nickname=; yafolder=27846757:1220000000000292066; mesort=date Location: http://mail.yandex.ru/img?hid=1.1 -------------- ---------------------------%<---------------------------------- строка header("Location: http://cards.yandex.ru/message.xhtml? id=8e20df3454e8726331411bcae2c7bf0f"); переадресовывает браузер клиента на настоящую открытку которую мы создали ранее в системе «Яндекс.Открытки». Для пользователя всё выглядит совершенно незаметно и безобидно. Далее злоумышленник использует полученные cookies например при помощи программы minibrowser[3] в которой cookies можно менять на лету: Скрин: http://rts.h15.ru/st/xss4.gif Осталось нажать кнопку «Get» и оказаться в почтовом ящике атакуемого пользователя. 3. Заключение Стоит отметить, что в случае с Яндекс, перехваченные cookies действуют небольшой промежуток времени (при настройке уровня доступа «Узнавать меня, но запрашивать авторизацию»), но встречаются веб приложения, которые хранят в cookies md5 хеши от паролей и если злоумышленник перехватит их, то сможет пользоваться ими многократно или попытается расшифровать пароль. p.s. Компания Яндекс получила уведомление о наличии уязвимости за несколько дней до публикации этого материала. [1] «Обход javascript фильтров — Flash! Атака» http://www.securitylab.ru/54476.html [2] Все сопутствующие файлы можно взять с http://hattack.ru/xss/yandex-xss_ru.rar [3] Minibrowser можно скачать по адресу http://hattack.ru/xss/files/minibrowser_2.20.rar Полная версия статьи в .pdf формате находится: http://hattack.ru/xss/yandex-xss_ru.pdf
|
|
Мы ВКОНТАКТЕ |
|
|