К настоящему времени мы все знаем, что основные технологические гиганты, такие как Facebook или Google, знают все о нашей жизни, в том числе о том, как часто мы идем в ванную (следовательно, все рекламные объявления о простате, которые продолжают появляться, даже на авторитетных новостных сайтах) , В конце концов, мы дали им разрешение на это, прочитав страницы и страницы legalese на своих страницах T & C (все мы это сделали, не так ли?) И нажав кнопку «Принять».
Но что может сделать сайт для вас или вашего устройства без вашего явного согласия? Что происходит, когда вы посещаете слегка «неправильный» сайт или «правильный» сайт, который вы посещали, включает сторонний скрипт, который не был тщательно проверен?
Вам когда-нибудь случалось, что ваш браузер получает угон и появляются всплывающие всплывающие окна, и вы, похоже, не можете закрыть их, не покидая браузер вообще или нажав 25 раз на кнопку «Назад»? Вы чувствуете себя в опасности, когда это произойдет, не так ли?
После ввода Криса здесь, в CSS-Tricks, я решил искать сценарий, который делает именно это, и посмотреть, что происходит под капотом. Это выглядело довольно сложной задачей, но я узнал от нее немало вещей, и в итоге мне было очень весело. Надеюсь, я с удовольствием поделился с вами удовольствием.
Содержание статьи
Охота за сценарием
Идея заключалась в том, чтобы процитировать Криса, «фрагменты JavaScript, которые делают удивительно страшные вещи».
Первое, что я сделал, это настроить виртуальную машину с виртуальной коробкой на моем основном компьютере разработки Ubuntu. Таким образом, если сайты, которые я посетил, и содержащиеся в них сценарии попытались сделать что-то страшное для моего компьютера, мне просто нужно было бы удалить виртуальную машину без ущерба для моего дорогого ноутбука. Я установил последнюю версию Ubuntu на виртуальную машину, открыл браузер и отправился на охоту.
Одна из вещей, которые я искал, — это использование вариации печально известного Evercookie (он же «неуязвимый куки»), который станет явным признаком теневых методов слежения.
Где искать такой скрипт? Я попытался найти одну из вышеупомянутых навязчивых объявлений на законных веб-сайтах, но не смог найти их. Похоже, что компании, предлагающие рекламу, стали намного лучше обнаруживать подозрительные сценарии, автоматизируя процесс проверки, я полагаю.
Я пробовал некоторые авторитетные новостные сайты, чтобы узнать, есть ли что-то интересное, но все, что я нашел, было тонны и тонны стандартных сценариев отслеживания (и ошибок JavaScript в консольных журналах). В этих случаях большая часть сценариев — это передача данных на сервер, и поскольку у вас мало возможностей узнать, что на самом деле делает сервер с данными, было бы очень сложно их рассеять.
Я тогда подумал, что лучшим местом для поиска «страшного» материала будут сайты, владельцы которых не будут рисковать юридическими действиями, если они сделают что-то «страшное» для своих пользователей. Это означает, в основном, сайты, на которых пользователь пытается сделать что-то граничащее с незаконным для начала.
Я посмотрел на некоторых прокси-серверов Pirate Bay, не повезло. Затем я решил перейти на сайты, предлагающие ссылки на незаконные потоки спортивных событий. Я прошел через несколько сайтов, внимательно изучив сценарии, которые они включили в DevTools от Chromium.
На сайте, предлагающем, среди прочего, незаконную поточную передачу матчей настольного тенниса, я заметил (в списке JavaScripts на вкладке «Сеть DevTools») среди сторонних библиотек, стандартных скриптов пользовательского интерфейса и слишком часто повторяющегося включения библиотеки Google Analytics (ouch!), странно названный сценарий без расширения .js и всего лишь число в качестве URL.
Я посмотрел на, казалось бы, бесконечную пару строк запутанного кода, который составлял большую часть кода сценария, и найденные строки, такие как chromePDFPopunderNew
adblockPopup
flashFileUrl
экранировали