Что такое 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. Также вы можете задать мне любой вопрос, подписавшись на канал.

Наш канал в Telegram