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

Место внедрения XSS:
Вводимая в поиск строка попадала в параметр querystring, где на html-сущности заменялись почему-то только кавычки и апостроф. Причем в других местах страницы все экранировалось правильно.
После отправки следующей строки в поиск в последних на тот момент версиях браузеров Firefox, Opera был получен алерт с cookie
В Chrome alert не было, IE не проверял.
Сообщение об уязвимости было отправлено 17 июня, сегодня исправили.
Мне показалось интересным, что браузеры по-разному отреагировали на отправленную строку, потому решил написать пост.
Поиск на сайте 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 июня, сегодня исправили.
Мне показалось интересным, что браузеры по-разному отреагировали на отправленную строку, потому решил написать пост.
