Iframe injection и XSS на более чем 20 000 сайтах (ru)

Решил пройтись по топу alexarank http://www.alexa.com/topsites/countries/UA , начал искать уязвимости на gismeteo.ua ( 20 место ) . Произошел редирект на русскую версию https://www.gismeteo.ru/soft/ , обратил внимание на тех поддержку.

Техподдержка находилась по адресу https://gismeteo.userecho.com и загружалась на gismeteo в iframe https://gismeteo.userecho.com/s/interframe.html?url=https://gismeteo.userecho.com/widget/forum/6-/?lang=ru&referer=https://www.gismeteo.ru/soft/&xdm_e=https://www.gismeteo.ru&xdm_c=default4178&xdm_p=1 . Потом появлялась форма для создания тикета.

Я попытался загрузить свой сайт в iframe https://gismeteo.userecho.com/s/interframe.html?url=https://securityz.net , но он не грузился. Потом понял, что кроме url загружаемого сайта нужны еще и переменные lang,referer, xdm_e и другие.

http://support.gismeteo.ru/s/interframe.html?url=https://securityz.net/?lang=ru&referer=https://www.gismeteo.ru/soft/&xdm_e=https://www.gismeteo.ru&xdm_c=default4178&xdm_p=1 и мой сайт загрузился во фрейме.

Видео https://www.youtube.com/watch?v=9P4A1AGxxYc .

Оказалось, что владелец виджета userecho.com использует один и тот же api на всех сайтах клиентов для техподдержки, отсюда вывод, что все его клиенты уязвимы к iframe injection.

Находим список топ клиентов http://userecho.com/clients/?lang=ru и понимаем, что много уязвимых клиентов – это наиболее посещаемые сайты – drugvokrug.ru (социальная сеть, более 5 000 000 пользователей) fl.ru (самая популярная фриланс биржа в России)  , easypay.ua (одна из наиболее посещаемых платежных систем в Украина)  , tankionline.com , ivi.ru , amiro.ru , okko.tv , insales.ru , a-lab.ru , scrapinghub.com , iridiummobile.net и много других. Почти все сайты размещают виджет userecho на своём поддомене, пример http://ask.drugvokrug.ru/ , но некоторые размещают его как поддомен на userecho http://kontur.userecho.com/  .

Векторы атаки:

Чтобы распространить вредоносную ссылку, нужно сначала укоротить ссылку goo.gl/GIYRUR , потом:

  1. Массово рассылать на форумы, по email адресам.
  2. Целенаправленно атаковать определенного юзера или админа с помощью этой уязвимости.

Можно было бы отправлять сообщения об уязвимости на каждый уязвимый сайт, но уязвимость была бы оперативно исправлена разработчиками userecho и я мог бы не получить ничего ни от уязвимых сайтов, ни от разработчиков виджета.

Поэтому решил сразу сообщить о находке разработчикам плагина.

09.01.2017 в 23:00 отправлен баг репорт в тех  поддержку userecho.com.

10.01.2017 в 00:10 уязвимость исправлена и уязвимый файл interframe.html удален (комментарий от разработчиков – файл interframe.html больше недоступен (удален) и все виджеты работают без него. Поэтому все работает с тем же API.) .

10.01.2017 в 02:14 разработчики выплатили награду $100. Комментарий:

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

Также я обнаружил SELF XSS уязвимость в поддержке userecho и ее не собираются исправлять, уязвимости подвержены более 20 тысяч сайтов, вот статья https://securityz.wordpress.com/2017/01/10/self-xsx_ru/ и PoC . Я еле уговорил разработчиков устранить iframe injection:

Мы видели по логам, что вы игрались с interframe.html и в принципе понимали для чего и как его использовали. Только не был понятен вариант как использовать это с пользой.

Так как теперь мы понимаем варианты использования и Вы подвигли нас на исправления мы готовы перевести Вам 100USD.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s