Какую идентифицирующую информацию может захватить веб-сайт? - PullRequest
16 голосов
/ 18 сентября 2008

Если владелец веб-сайта хочет отследить, кто их пользователи, насколько это возможно, что они могут захватить (и как). Возможно, вы захотите узнать об этом, чтобы получить информацию на создаваемом вами сайте или, как пользователь, запретить сайту захватывать данные о вас.

Вот стартовый список, но я уверен, что пропустил несколько важных:

  1. Referrer (на какой веб-странице была ссылка, по которой вы переходили). Это заголовок HTTP.
  2. IP-адрес машины, с которой вы просматриваете. Это доступно с заголовками HTTP.
  3. Пользовательский агент (какой браузер вы используете). Это заголовок HTTP.
  4. Печенье, помещенное при предыдущем посещении. Это заголовок, доступный только в том случае, если файл cookie был ранее размещен и не был удален пользователем.
  5. Flash Cookie, размещенный при предыдущем посещении. Некоторые пользователи отключают файлы cookie, но очень мало кто знает, как отключить Flash-файлы cookie. Работает как обычный cookie, хотя зависит от Flash.
  6. Web Bugs. Поместите что-нибудь маленькое (например, прозрачный однопиксельный GIF-файл) на страницу, которую подают сторонние поставщики. Некоторые третьи стороны (например, DoubleClick) будут иметь свои собственные файлы cookie и могут соотноситься с другими посещениями, которые пользователь совершает (за плату!).

Это самые распространенные, о которых я думаю, но должно быть МНОГО необычных. Например, это:

  1. Время на часах пользователя. Используйте JavaScript для его передачи.

... о котором я никогда не слышал до прочтения здесь.


ДОБАВЛЕНО ПОЗЖЕ (после прочтения this ):

Пожалуйста, попробуйте поставить только ОДИН пункт в ответ, тогда мы можем использовать голосование вверх, чтобы отсортировать более / более интересные. Список ниже, вероятно, менее эффективен.

Ах, хорошо ... В следующий раз, когда я задам вопрос, подобный этому, я настрою его лучше.


И вот некоторые из лучших ответов, которые я получил:

  1. Джеймс указывает, что IE передает версию платформы .NET.
  2. AviewAnew указывает, что можно найти, какие сайты вы посетили .
  3. Меки указывает, что разрешение экрана можно определить.
  4. Mecki также указывает, что любую информацию автозаполнения, которую кэшировал ваш браузер, можно определить, создав скрытое поле, а затем прочитав его с помощью JavaScript.
  5. jjrv указывает, что Flash может отображать шрифты на компьютере пользователя.
  6. Кент указывает, что вы можете узнать , какие веб-сайты посетил человек .
  7. Серебряный дракон указывает, что вы можете определить местоположение мыши в окне просмотра, используя Flash и AJAX.
  8. Джим указывает, что вы можете сказать, какой язык пользователь настроил в своем браузере, из заголовка HTTP.
  9. Джим также упоминает, что вы можете определить, используют ли люди Greasemonkey или что-то подобное для изменения страницы.

Ответы [ 11 ]

3 голосов
/ 18 сентября 2008

Модификации к вашему оригиналу:

  1. можно экранировать (я думаю, это вариант в некоторых браузерах)
  2. можно избежать только с прокси (javascript может противоречить этому, однако, с умным взглядом)
  3. ненадежен, легко подделывается.
  4. И при условии, что он не был удален из-за закрытия браузера (cookie сеанса) и cookie находится в том же домене / пути

Настоящие мерзкие

  1. Использование JavaScript для проверки вашей сети / LAN
  2. Использование JavaScript для доступа к брандмауэру из-за брандмауэра и настройки его параметров (без шуток)
  3. Использование функции "посещаемой ссылки" для определения, какой из списка URL был посещен. (исследование глубокой истории!)
  4. Бог знает, что если у пользователя Windows / IE / ActiveX
2 голосов
/ 18 сентября 2008

Javascript может получить больше информации, чем просто время. Например. разрешение экрана (+ глубина цвета) является одним из них.

См. Получение разрешения экрана с помощью JS

Все, что может захватить JS, может быть передано с использованием AJAX без участия пользователя. Другие примеры (не все будут работать в каждом браузере):

  • Он может просматривать историю вашего браузера, например, какой URL будет использовать ваш браузер, если вы нажмете назад или вперед.

  • Язык вашего браузера ( Примечание : обычно HTTP-запрос также содержит список предпочитаемых языков для запрашиваемой вами страницы. Однако этот список доступен для редактирования пользователем в настройках многих браузеров. в то время как JS может на самом деле узнать, какой языковой перевод использует ваш браузер в интерфейсе)

  • Если ваш браузер автоматически заполняет поля формы (например, электронная почта, имя пользователя и т. Д.), JS может фактически прочитать, что ваш браузер ввел в поля до того, как вы отправили форму (таким образом, он может даже прочитать, что вы Браузер там предварительно заполнен, даже если вы вообще не отправляете форму).

Java-апплет мог бы также собирать некоторую информацию и передавать ее, хотя там не так много информации, которую вы бы не получили в другом месте. Так как получить IP-адрес посетителя легко, можно выяснить, какую онлайн-службу он использует (поиск IP-адреса в адресных службах, таких как IANA для США или RIPE для Европы и т. Д.), И есть службы, которые переводят IP-адреса в страну. , так что можно выяснить, где, скорее всего, находится пользователь.

2 голосов
/ 18 сентября 2008
  • Существует заголовок, который может включать информацию о прокси-сервере, который использует пользователь, и который также может включать IP-адрес пользователя (в этом случае другой IP-адрес является прокси-сервером)
  • Разрешение экрана, Операционная система, Глубина цвета, размер панели задач (сравните максимальное и текущее разрешение), если включена Java, сглаживающие шрифты, плагины, установленные через Javascript
  • Java-апплет также может дать вам кучу информации, но я не знаю, что.
  • Сайтов, которые вы посетили
  • Сведения о вашей локальной сети , такие как активные хосты, веб-серверы. Бумага Также в общих чертах рассказывается о распечатке дисков, модификации маршрутизатора

И все это при условии, что злоумышленник не выполняет произвольный код выполнения

1 голос
/ 18 сентября 2008

Некоторая дополнительная информация, которая может представлять интерес:

  • Используя IP-адрес, можно определить имя хоста, сетевой провайдера / организацию, к которой принадлежит IP, и приблизительное географическое местоположение.
  • Используя реферер, список запросов, которые делает указанный клиент, и надежный механизм cookie, можно определить путь, по которому идет посетитель (даже переходы по ссылкам на другие стороны, с помощью страницы AJAX и / или страницы пересылки)
  • Используя флэш, с комбинацией AJAX, местоположение мыши в окне просмотра может быть зафиксировано
  • Пользовательский агент может содержать информацию об операционной системе, установленных платформах .NET и других раритетах
0 голосов
/ 19 сентября 2008

Насколько я знаю, можно получить данные буфера обмена через JavaScript. Не уверен, насколько это возможно по умолчанию в наши дни, но это было совсем недавно. Я верю, что IE все еще позволяет это.

Люди имеют привычку оставлять очень важные данные в своем буфере обмена, так что это довольно плохо.

0 голосов
/ 19 сентября 2008

Мне нужно выкопать ссылку, но если пользователь использует IE с установленными заголовками программного обеспечения, определить, какие из них установлены, возможно.

0 голосов
/ 18 сентября 2008

Если вы беспокоитесь о своей личной безопасности (я не уверен, что именно этого вы и добиваетесь, поэтому приношу свои извинения, если это неправильно), вы всегда можете использовать сеть Tor. Если вы используете Firefox, вы можете использовать Torbutton для включения одним кликом. Он имеет преимущество (недостаток для некоторых) в том, что отключает Flash, поскольку в противном случае невозможно защитить его от утечки информации во Flash.

0 голосов
/ 18 сентября 2008
  • Обычно вы можете определить, на каком языке говорит пользователь, с помощью Accept-Language HTTP-заголовка.
  • Чтобы определить, установлены ли определенные приложения и плагины браузера, просмотрите заголовок HTTP Accept.
  • Версия браузера / уровень исправления и версия .NET Framework через HTTP-заголовок User-Agent.
  • Ваш провайдер / работодатель и географическое местоположение через IP-адрес.
  • Независимо от того, посещали ли вы определенные URL-адреса с помощью CSS и / или событий временной загрузки. Если конкретный веб-сайт имеет пользовательские URI, это может указать, являетесь ли вы определенным пользователем на этом сайте или нет.
  • Какие шрифты доступны через измерение ems и / или Flash.
  • Разрешение экрана, размер окна, часовой пояс через JavaScript.
  • Где вы перемещаете мышь и нажатия клавиш через JavaScript. Например, вы можете видеть, что люди вводят в текстовые поля, даже если они не нажимают «Отправить».
  • Многие скрипты UserJS / Greasemonkey пропускают информацию (например, если вы отфильтровываете определенных людей, сайты, для которых он настроен, могут выяснить, кто).
0 голосов
/ 18 сентября 2008

Flash может предоставить вам список шрифтов на компьютере пользователя, среди прочего. Javascript может отправлять информацию, когда мышь останавливается над рекламой, не щелкая ее. Вы также можете получить размер окна, независимо от того, открыт ли сайт во фрейме, заблокированы ли всплывающие окна или определенные плагины. Поиск функций Javascript позволяет определить, является ли заголовок пользовательского агента правильным или фальшивым ...

0 голосов
/ 18 сентября 2008
  1. Может ли браузер поддерживать JS
  2. Может ли браузер поддерживать flash
  3. Платформа операционной системы
  4. Разрешение экрана
  5. Поддерживает CSS
  6. Поддержка таблиц
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...