Что такое Self-XSS, или межсайтовый скриптинг
Перевод статьи Combating Self-XSS, автор Joe Walker
Доктор зло имеет несколько способов использования своего скрипта на странице другого сайта. Обычно мы именуем это как XSS. Self-XSS ("межсайтовый скриптинг") предполагает использование социальной инженерии, заставляя пользователя вручную выполнять JavaScript с использованием адресной строки или инструментов разработчика.
Последние атаки на Facebook показывают, что что-то должно быть сделано, но узнать правильный ответ сложно.
Что с этим делает Mozilla?
Мы предлагаем добавление директивы в CSP, она гласит: "Пожалуйста, запретите пользователем JavaScript в контексте данного ресурса".
На деле, это может выглядеть как:
X-Content-Security-Policy: no-user-js
Мы также собираемся предложить разработчикам отказаться от этой защиты. То есть, сказать "Я могу позаботиться о JavaScript, который я прошу выполнить в браузере".
Как это затрагивает инструменты разработчика в Firefox?
Никак. The Highligher, Style Inspector, Style Editor и Tilt остаются неуязвимы. JavaScript выполняется только через веб-консоль и Scratchpad.
Как это затрагивает пользователей?
Пользователь | Разработчик? | ||
---|---|---|---|
Нет | Да | ||
Может обнаружить атаку Self-XSS? | Нет | Добавлена защита от межсайтового скриптинга | Уведомлен о межсайтовом скриптинге, может пригодиться защита. |
Да | Без изменений |
Незначительные неудобства, установка опций (только единожды) для включения пользовательского JavaScript на сайтах, использующих этот межсайтовый скриптинг. |
Полагаю, что это достаточно понятный выигрыш: мелкие, единовременные, неудобства для веб-разработчиков, в сравнении с очной защитой от межсайтового скриптинга.
Возражения: это проблемы пользователя
Цель обучения касательно JavaScriptсостоит в том, что это возвышено, грандиозно, амбициозно и совершенно недостижимо. Должно быть другое решение.
Возражения: это проблема Facebook
Ненадежный, непроверенный, третьесторонний, динамический контент на ваш сайт - то, чего следует избегать. Все это понятно. Однако я не думаю, что решение данной проблемы когда-либо произойдет. Злоумышленник может легко направить вас на другой сайт для копирования в буфер обмена инъекционного flash-контента, прежде чем вернуться к исходному сайту для последующей вставки.
Возражения: это проблема технологии Flash
Хотя это правда, что политика буфера обмена Adobe более лояльна, чем у основных веб-браузеров, мы видели людей, следующих инструкции типа "выбрать/скопировать" скрипт атаки. Мы думаем, что уровень ущерба, причиненный разработчикам по решению CSP, достаточно низок, и поэтому мы можем оправдать дополнительную защиту.
Хотите больше полезных советов? Смотрите и подписывайтесь на наш канал! Здесь я публикую лучшие советы для пользователей Андроид, Windows, iOS и Mac OS. Также вы можете задать мне любой вопрос, подписавшись на канал.