В последнее время распространен такой вид атаки, как XSS. Это так называемый межсайтовый скриптинг (Сross-Site Scripting) – тип атаки на веб-сайты, который заключается во внедрении в выдаваемую сервером страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника.
Суть подобных атак заключается в том, что вредоносный код может использовать авторизацию пользователя на сайте для получения к ней расширенного доступа или для получения авторизационных данных пользователя.
Не так давно в распространенном сервисе Яндекс-карт была обнаружена уязвимость, позволяющая провести XSS-атаку. В этой статье мы покажем, как она работает.
Первым делом конструкторе Яндекс-карт создаем новую карту. Далее в карте ставим новую метку и в описание метки дописываем свой пэйлоад:
<b onmouseover=”alert(document.location)”><img width=”1000px” height=”1000px”>эксплоит при клике</b> |
Сохраняем карту и получаем ее код.
Далее, этот скрипт вставляем куда нибудь на сайт, например, в раздел “контакты”.
//portfob.ru/about/Теперь при клике по метке срабатывает JS скрипт.
Сам скрипт, который нам дает Яндекс после генерации карты, становится статистическим, и при повторным редактировании ссылка не меняется. Это позволяет вначале сделать легитимную карту, а затем, спустя какое то время, можно внедрить вредоносный скрипт:
Вывод
Таким образом недобросовестный вэб-мастер может нанести ущерб клиентам сервиса “Яндекс – карты”, встроив свой скрипт, который может уводить куки авторизованного пользователя на стороне клиента, например того же админа, или от характерности CMS, залить шелл и т.п. Также нанести репутационный риск Яндексу, или, встроив вирусный JS скрипт и проиндексировав его по антивирусным базам, внести домен api-maps.yandex.ru в блок лист антивирустных программ.
Стоит отметить, что на стороне Яндекса баг не срабатывает, он срабатывает только на стороне клиента. Сами специалисты Яндекса о проблеме знают, однако не предпринимают действий для устранения уязвимости.
Вот что ответила сама техподдержка:
Как они считаю, это ожидаемое поведение, т.е можно использовать их конструктор в своих корыстных целях.