Доброе время суток хабравчане! Буквально на днях я опубликовал статью по документации Web API и нашлись люди, которые попробовали применить XSS на сервисе, который был на этом же домене. Но особо не получилось это сделать. Точнее получилось, но не на этом сервисе. За подробностями прошу под кат.
Как-то я сидел просматривал статистику в Яндекс.Метрике и захотел посмотреть запросы, с которыми люди заходили на сайт. Вроде ничего страшного я не увидел. Но все же вот те данные.
После того, как я выбрал отображение запросов по возрастанию, увидел нечто интересное. То есть те самые XSS уязвимости в GET запросе, которые уважаемые хабравчане оставляли, сработали не в сервисе, на который, видимо, было нацелено, а на платформу Яндекс.Метрики.
Что я в итоге увидел на Яндекс.Метрике:
Немного почесав свой затылок, я решился посмотреть, что же все-таки за запросы были и где. Удивлению не было предела, когда я этих запросов не увидел. Но буквально через минуту я понял, что те запросы — запросы с пустым параметром и есть те уязвимые запросы. Собственно, они представлены ниже:
Но вы спросите, они же пустые, что в них и как они выглядят. Стоит только нажать по ним и мы перейдем на страницу, где и будет показана ошибка, что мол неверные данные. Действительно, это так:
А вот собственно тот роковой запрос:
Извините за довольно короткую статью, я лишь хотел предупредить вас об интересном допущении в платформе Яндекс.Метрика и что это может привести к печальным последствиям. Будьте осторожны!
P.S.
Не судите строго! Я лишь хочу помочь вам. И пожалуйста не ломайте мой сервис.
P.P.S. Уязвимость закрыта 17.07.15.
Как-то я сидел просматривал статистику в Яндекс.Метрике и захотел посмотреть запросы, с которыми люди заходили на сайт. Вроде ничего страшного я не увидел. Но все же вот те данные.
После того, как я выбрал отображение запросов по возрастанию, увидел нечто интересное. То есть те самые XSS уязвимости в GET запросе, которые уважаемые хабравчане оставляли, сработали не в сервисе, на который, видимо, было нацелено, а на платформу Яндекс.Метрики.
Что я в итоге увидел на Яндекс.Метрике:
Немного почесав свой затылок, я решился посмотреть, что же все-таки за запросы были и где. Удивлению не было предела, когда я этих запросов не увидел. Но буквально через минуту я понял, что те запросы — запросы с пустым параметром и есть те уязвимые запросы. Собственно, они представлены ниже:
Но вы спросите, они же пустые, что в них и как они выглядят. Стоит только нажать по ним и мы перейдем на страницу, где и будет показана ошибка, что мол неверные данные. Действительно, это так:
А вот собственно тот роковой запрос:
https://mynstu.me/small_results?delo=%3C/strong%3E%3C/a%3E%3Cscript%3Ealert('antoha%20privet')%3C/script%3E
Выводы
Извините за довольно короткую статью, я лишь хотел предупредить вас об интересном допущении в платформе Яндекс.Метрика и что это может привести к печальным последствиям. Будьте осторожны!
P.S.
Не судите строго! Я лишь хочу помочь вам. И пожалуйста не ломайте мой сервис.
P.P.S. Уязвимость закрыта 17.07.15.
Комментарии (22)
oxdef
20.07.2015 20:40+11Спасибо автору за то, что предварительно сообщил нам об обнаруженной проблеме. Благодаря этому мы смогли наградить его в рамках «Охоты за ошибками». Пишите нам в таких случаях.
UdarEC
20.07.2015 20:55Интересно, почему под FF на yandex.ru/bugbounty
ошибка ssl сертификатаSecure Connection Failed
The connection to the server was reset while the page was loading.
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.oxdef
20.07.2015 22:20Напишите, пожалуйста, подробности на feedback2.yandex.ru/bugbounty
Заранее спасибо!UdarEC
21.07.2015 01:31+4Просто хотел узнать, у меня одного в Firefox не открывается yandex.ru/bugbounty?
Dimones Автор
20.07.2015 21:35+10Ложная тревога. Все дали. Простите.
NetherNN
20.07.2015 21:51Простите за любопытство, Вам правда что-то дали (перечислили)? А то я уже давненько жду и тишина…
oxdef
20.07.2015 22:21Напишите, пожалуйста, в feedback2.yandex.ru/bugbounty — разберёмся. Не забудьте указать номер тикета (репорта).
EminH
То есть пытались взолмать вас, а взломали метрику?
Dimones Автор
Именно! Даже не сказать что взломали ведь ничего страшного не произошло, но осадочек остался)
EminH
ОК, Яндекс то XSS на метрике закрыл, а на mynstu.me будете проблему решать?
там то точно XSS как минимум, а может что и похуже
(я в личку писал еще вчера, никакой реакции)
Dimones Автор
Да, я видел ваше сообщение. Дело в том что сервис не работает. Думаю сегодня я его совсем отключу. А за находку, большое спасибо!