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

в 18:33, , рубрики: xss, информационная безопасность, метки:

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

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

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

Место внедрения 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 июня, сегодня исправили.

Мне показалось интересным, что браузеры по-разному отреагировали на отправленную строку, потому решил написать пост.

Автор: shr

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js