Pull to refresh

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

Information Security *JavaScript *Programming *Yandex API *
Доброе время суток хабравчане! Буквально на днях я опубликовал статью по документации 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.
Tags:
Hubs:
Total votes 61: ↑55 and ↓6 +49
Views 28K
Comments Comments 22