Делаем гадости: незакрываемая вкладка в IE, Chrome и Firefox

в 13:48, , рубрики: Firefox, Google Chrome, internet explorer, opera, браузеры, Егор Хомяков, информационная безопасность, уязвимости, метки: , , , , ,

Делаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxПрограммист и хакер Егор Хомяков (блог, хабрreadonly), прославившийся год назад массовой публикацией CSRF, а также взломом сети GitHub, пару дней назад опубликовал в твиттере крайне интересный скрипт длиной всего в 92 символа. Ссылка на твит в конце статьи.

Этот самый скрипт позволяет «завесить» окно браузера в IE, в Google Chrome и частично в Firefox. Эффект от запуска виден справа – от этих диалоговых окон невозможно избавиться, они появляются снова и снова, блокируя доступ к главному окну браузера.

Суть

Сам скрипт в двух вариантах — оригинал в странице из ссылки и мой вариант в песочнице.

Делаем гадости: незакрываемая вкладка в IE, Chrome и Firefox
Я настоятельно рекомендую не запускать это в основном браузере.

Вариант 1. Скопируйте это в адресную строку браузера.

data:text/html,<script>onbeforeunload=function(){location.reload();return 1};
onload=function(){location.reload();}</script>

Вариант 2. Пройдите по ссылке в песочницу — исполнение начнется автоматически при открытии!

http://tinkerbin.com/iaMneVlp

Реакции браузеров

Браузеры отреагировали по-разному. Отсортировано по убыванию степени трагичности.

Делаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxВ Google Chrome 24 правильно запущенный скрипт намертво вешает текущую вкладку, текущее окно и все будущие окна. Совсем плохо. Лечится убийством процессов Chrome.exe.

Делаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxВ Internet Explorer 10 уже несколько лучше — можно открыть новое окно и работать в нём. Текущее окно блокируется аналогично хрому.

Делаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxВ Firefox 19 диалоговые окна появляются постоянно, но закрыв несколько можно продолжить работу в текущем окне (будут мешаться диалоговые окна) или создать полностью рабочее новое. Кроме того, есть возможность полностью избавиться от этой гадости не перезагружая браузер, отдельный параграф ниже по этому поводу.

Делаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxДелаем гадости: незакрываемая вкладка в IE, Chrome и FirefoxOpera 12.14 как всегда на своей волне. Но в данном случае это отнюдь не плохо! Страница в ссылке просто бесконечно перезагружается (можно остановить закрыв вкладку или зажав Esc), а открытый в песочнице скрипт создает рекурсию — результат вы можете наблюдать справа.

Избавляемся от скрипта в Firefox

Итак, вы открыли страницу с таким скриптом и теперь перед вами назойливые диалоговые окна.
1. Для начала, закройте парочку, нажав на крест в углу. Попробуйте переключиться в основное окно браузера. Если не получилось, закройте ещё один диалог.
2. Теперь создайте ещё одну вкладку — Ctrl+T, двойной клик на панель вкладок или клик на плюс.
3. Нажмите правой кнопкой на вкладку со скриптом и переместите её в новое окно. В английской версии этот пункт меню называется Move to New Window. Если он неактивен, закройте ещё пару диалогов.
4. Закройте открывшееся окно с единственной вкладкой со скриптом. Если не получается, то совет тот же.
5. Закройте все оставшиеся диалоговые окна.
6. Переместите пустую вкладку в новое окно и закройте это окно.

Готово! Вот такое вот веселье.

В результате

Таким методом можно заставить страницу быть открытой дольше чем обычно. Украсть таким методом кукисы или XSRF-токен вряд ли возможно (хотя чего только Егор ни придумает?), но нагадить и подпортить нервы — вполне.

Источник: тот самый твит
Вы также можете почитать «хакерский» блог Егора Хомякова.

Автор: a553

Источник

  1. Сергей:

    В хроме: перезагрузил комп, пока вкладка открывалась – успел её закрыть)

  2. Макс:

    хром: тыкаешь на перезагрузку и одновременно Shift+Esc, вылезает диспетчер задач хром и спокойно отрубаешь вкладку.

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


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