Доброе время суток хабравчане! Буквально на днях я опубликовал статью по документации 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. EminH
    20.07.2015 18:27
    +1

    То есть пытались взолмать вас, а взломали метрику?


    1. Dimones Автор
      20.07.2015 18:52
      +4

      Именно! Даже не сказать что взломали ведь ничего страшного не произошло, но осадочек остался)


      1. EminH
        21.07.2015 10:13
        +1

        ОК, Яндекс то XSS на метрике закрыл, а на mynstu.me будете проблему решать?
        там то точно XSS как минимум, а может что и похуже
        (я в личку писал еще вчера, никакой реакции)


        1. Dimones Автор
          21.07.2015 10:23
          +1

          Да, я видел ваше сообщение. Дело в том что сервис не работает. Думаю сегодня я его совсем отключу. А за находку, большое спасибо!


  1. Chikey
    20.07.2015 19:25
    +8

    Стоп серьезно такую очевидную XSS тотально из юзер инпута заметили в метрике только сейчас? Может регрессия какая.


    1. Dimones Автор
      20.07.2015 20:19

      Возможно. Я думаю что это все связано с редизайном метрики. Ребята из Яндекса мне не рассказали почему раньше не заметили)


  1. oxdef
    20.07.2015 20:40
    +11

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


    1. 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.


      1. oxdef
        20.07.2015 22:20

        Напишите, пожалуйста, подробности на feedback2.yandex.ru/bugbounty
        Заранее спасибо!


        1. UdarEC
          21.07.2015 01:31
          +4

          Просто хотел узнать, у меня одного в Firefox не открывается yandex.ru/bugbounty?


          1. Core2Duo
            21.07.2015 06:56
            +3

            Chrome 43.0.2357.134 m, не открывается, ERR_EMPTY_RESPONSE


            1. Quber
              21.07.2015 07:00

              тоже самое


            1. Dimones Автор
              21.07.2015 07:08

              Здравствуйте, возможно какие-то проблемы у провайдера, все же сервер расположен на мощностях университета.


              1. Dimones Автор
                21.07.2015 07:26
                +1

                Это информация если что то у меня работать не будет. Спросонья немного в контексте не понял о чем именно речь.


          1. UdarEC
            12.08.2015 01:13

            На данный момент все работает нормально.


    1. Dimones Автор
      20.07.2015 21:32
      +11

      Стоп. А как меня наградили?


    1. Dimones Автор
      20.07.2015 21:35
      +10

      Ложная тревога. Все дали. Простите.


      1. NetherNN
        20.07.2015 21:51

        Простите за любопытство, Вам правда что-то дали (перечислили)? А то я уже давненько жду и тишина…


        1. oxdef
          20.07.2015 22:21

          Напишите, пожалуйста, в feedback2.yandex.ru/bugbounty — разберёмся. Не забудьте указать номер тикета (репорта).


      1. MaximChistov
        21.07.2015 01:04
        +4

        А какая сумма, если не секрет?


    1. guyfawkes
      20.07.2015 22:15

      Хм, а политика в отношении «90 дней тишины» изменилась?


      1. oxdef
        20.07.2015 22:35

        Это необходимо для перестраховки, что всё успели исправить к моменту публикации. В данном случае проблема уже исправлена.