Pull to refresh

Отраженная браузерозависимая XSS на mts.ru

Reading time1 min
Views1.3K
Сделав свои дела на сайте mts, по привычке решил проверить строку поиска на XSS. На удивление быстро нашел, зарепортил, mts пофиксили. Детали под катом.

Поиск на сайте spb.mts.ru и вообще mts.ru был уязвим к XSS.



Место внедрения XSS:

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
        $('#LinksHeader').hide();
        if (window.exportCap) {
            exportCap({ path: "/live/shopSearchHelper.aspx", querystring: "</script><script>alert(document.cookie);</script>", regionid: 1801, allResuls: "http://spb.shop.mts.ru/?q=" });
        }
        if ("False" == "True")
            $('#LinksHeader').show();        
    });
</script>

Вводимая в поиск строка попадала в параметр querystring, где на html-сущности заменялись почему-то только кавычки и апостроф. Причем в других местах страницы все экранировалось правильно.

После отправки следующей строки в поиск в последних на тот момент версиях браузеров Firefox, Opera был получен алерт с cookie
</script><script>alert(document.cookie);</script>

В Chrome alert не было, IE не проверял.

Сообщение об уязвимости было отправлено 17 июня, сегодня исправили.

Мне показалось интересным, что браузеры по-разному отреагировали на отправленную строку, потому решил написать пост.
Tags:
Hubs:
Total votes 32: ↑23 and ↓9+14
Comments5

Articles