Пришла беда откуда не ждали, уязвимость XSS в сервисе Яндекс.Метрика

    Доброе время суток хабравчане! Буквально на днях я опубликовал статью по документации Web API и нашлись люди, которые попробовали применить XSS на сервисе, который был на этом же домене. Но особо не получилось это сделать. Точнее получилось, но не на этом сервисе. За подробностями прошу под кат.



    Как-то я сидел просматривал статистику в Яндекс.Метрике и захотел посмотреть запросы, с которыми люди заходили на сайт. Вроде ничего страшного я не увидел. Но все же вот те данные.



    После того, как я выбрал отображение запросов по возрастанию, увидел нечто интересное. То есть те самые 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
    • +1
      То есть пытались взолмать вас, а взломали метрику?
      • +4
        Именно! Даже не сказать что взломали ведь ничего страшного не произошло, но осадочек остался)
        • +1
          ОК, Яндекс то XSS на метрике закрыл, а на mynstu.me будете проблему решать?
          там то точно XSS как минимум, а может что и похуже
          (я в личку писал еще вчера, никакой реакции)
          • +1
            Да, я видел ваше сообщение. Дело в том что сервис не работает. Думаю сегодня я его совсем отключу. А за находку, большое спасибо!
      • +8
        Стоп серьезно такую очевидную XSS тотально из юзер инпута заметили в метрике только сейчас? Может регрессия какая.
        • 0
          Возможно. Я думаю что это все связано с редизайном метрики. Ребята из Яндекса мне не рассказали почему раньше не заметили)
        • +11
          Спасибо автору за то, что предварительно сообщил нам об обнаруженной проблеме. Благодаря этому мы смогли наградить его в рамках «Охоты за ошибками». Пишите нам в таких случаях.
          • 0
            Интересно, почему под 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.

            UPD. Как давно TLS 1.2 считается устаревшей?
            • 0
              Напишите, пожалуйста, подробности на feedback2.yandex.ru/bugbounty
              Заранее спасибо!
              • +4
                Просто хотел узнать, у меня одного в Firefox не открывается yandex.ru/bugbounty?
                • +3
                  Chrome 43.0.2357.134 m, не открывается, ERR_EMPTY_RESPONSE
                  • 0
                    тоже самое
                    • 0
                      Здравствуйте, возможно какие-то проблемы у провайдера, все же сервер расположен на мощностях университета.
                      • +1
                        Это информация если что то у меня работать не будет. Спросонья немного в контексте не понял о чем именно речь.
                    • 0
                      На данный момент все работает нормально.
                • +11
                  Стоп. А как меня наградили?
                  • +10
                    Ложная тревога. Все дали. Простите.
                    • 0
                      Простите за любопытство, Вам правда что-то дали (перечислили)? А то я уже давненько жду и тишина…
                      • 0
                        Напишите, пожалуйста, в feedback2.yandex.ru/bugbounty — разберёмся. Не забудьте указать номер тикета (репорта).
                      • +4
                        А какая сумма, если не секрет?
                      • 0
                        Хм, а политика в отношении «90 дней тишины» изменилась?
                        • 0
                          Это необходимо для перестраховки, что всё успели исправить к моменту публикации. В данном случае проблема уже исправлена.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.