Какие неожиданные вещи я могу узнать о пользователе из их браузера?

Я даю учащимся старших классов демонстрацию неожиданных вещей, которые веб-страница может рассказать о них со своего мобильного телефона, даже если они не вошли в систему или что-то еще. До сих пор я выбрал пару вещей, о которых большинство людей узнает, например:

ОС устройства

Конкретный телефон (если вы не на iPhone, то это просто iPhone)

Настройка языка

И еще пара непонятных вещей:

Carrier (запуск удаленного сервиса и возврат JSONP, так как js является наивным IP)

Уровень заряда батареи / состояние заряда (я даже не знал, что вы могли бы сделать это до сегодняшнего дня)

Можете ли вы придумать что-нибудь еще такое же крутое / жуткое в том же духе, что я могу выкопать из UA / Navigator / etc? Большинство из них работают под управлением Chrome под Android или iOS (к счастью, не все браузеры поддерживают батареи). Главное событие - безопасность мобильных устройств и фишинг, поэтому я бы хотел использовать мобильные телефоны.

Быстрое редактирование: для ясности я создаю сайт, на который они пойдут, который фактически продемонстрирует эти функции - так что, к сожалению, их нужно реализовать, по крайней мере, в Chrome, против запланированных / черновиков.

3 ответа

Вы должны указать географическое положение. Компетентная библиотека javascript, например MaxMind или Google Analytics, может использоваться для точного определения географического местоположения пользователей.

С точки зрения фишинга, который я считаю наиболее важным, существует несколько опасных вещей:

Фишинг

  • Без надстроек браузеры обычно не будут предупреждать вас, если в адресе, который вы посещаете, есть другое письмо. Несмотря на то, что схема URL запрещает символы нулевой ширины и другие неприятности Unicode, вы все равно можете наблюдать l (строчная L), 1 (один), I (верхний регистр I). Есть также много символов Юникода, которые выглядят как обычный алфавит. Может быть, есть черный список символов юникода, таких как греческие буквы. Проверьте этот сайт, чтобы поиграть. Вы можете попробовать создать какое-то доменное имя, например stackru.com с греческим ο,
  • JavaScript может изменить URL после имени домена. Но я не видел хостинга, который бы давал пользователям имена папок через годы. Тем не менее, жутко видеть изменение URL без перезагрузки:

    window.history.pushState("object or string", "Title", "/new-url");
    
  • Не уверен, что это применимо, но в последние годы HackADay.com обнаружил взлом, где вы можете изменить <a> href после нажатия кнопки мыши на ссылке, эффективно изменяющей целевой URL. Но опять же, вы также можете перенаправить браузер, используя JavaScript...

Личные данные

  • Для этого первым делом я проверю Window а также Document на MDN. Это определенно покажет некоторые интересные вещи, которые оставляют информацию о заряде батареи просто тщетной попыткой быть страшной:

    • Окно:
      • Window.ondevicemotion - делает то, что предлагает. предположим, что вы также можете Window.addEventListener("devicemotion", ...)
      • Window.ondevicelight - этот очень жуткий, но только Firefox
      • Window.ondeviceorientation - гораздо более широко поддерживаемое событие для перемещения устройства. Хотите приблизить путь вашего пользователя и нарисовать его на холсте? Или сделать приложение, которое кричит " Положи телефон Фу Кинга.*", Пока они не положат его на стол?
      • Кроме того, существует миллион способов получить различные свойства экрана. Некоторые из них использовались, чтобы угадать версию ОС, поскольку разные ОС имеют разные строки меню, занимающие разные части экрана.
    • Документ:

      • document.referrer - Хотите отслеживать своих пользователей?
      • Вы можете обнаружить наличие аддонов, блокирующих рекламу, создав такие элементы, как:

        <div id="advertisment" 
          class="ad advertisment ads banner"
          style="pointer-events: none;position: absolute; opacity: 0;">NOTHING
        </div>
        

        Тогда принеси .getBoundingClientRect() и утверждать ненулевые измерения.

    • Вы можете определить, когда документ проверяется клопом. (или вы могли бы в прошлом, когда firebug фактически добавил элементы в DOM для выделения узлов). Эти элементы невидимы в Firebug, но запускают события мутации DOM.
  • Если пользователь подтверждает, звук и видео могут быть записаны.
  • Однажды я создал сценарий, который мог транслировать все мутации DOM на сервере, позволяя мне наблюдать за другим пользователем с помощью веб-сайта в режиме реального времени. Но я не довел это до состояния производства, к сожалению. Но вот как я узнал о проблеме с клопом.
  • Есть и другие приемы, чтобы проверить, работают ли средства отладки. Обычно это разные хаки, попробуйте что-нибудь гуглить.
  • Задумывались ли вы, если ваши пользователи имеют CORS включен локальный HTTP-сервер работает? Я имею в виду, не стоит ли попробовать?
  • WebWorkers позволяют создавать потоки на клиентском компьютере. Вы можете использовать это для распределенной обработки или просто сжечь батарею. Поскольку это не влияет непосредственно на поток GUI, они не заметят, пока не станет слишком поздно. Также это звучит как отличный способ генерировать трещины и сертификаты.
  • Вы можете изменить скопированный текст, возможно, добавив в него хаки для межсайтовых скриптов. Хорошая хитрость заключается в том, чтобы компенсировать ваш скрипт с кучей пробелов, чтобы его нельзя было увидеть в обычном текстовом редакторе без переноса текста.
  • Используя уведомление на рабочем столе, вы можете сделать вид, что вы антивирус, обновление Windows...

Как насчет любого из этих...

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

Результатом всего этого является - продвижение данных персонализированного маркетинга, то есть того, что вы видите, нацелено на вас, как на отдельного человека (Google много делает с их рекламой)

Другие вопросы по тегам