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

Хорошо, довольно формальный отказ от ответственности, который был ха 😄, в этой статье мы узнаем, как использовать API геолокации и насколько он точен на самом деле 🤔

JAVASCRIPT API ГЕОЛОКАЗАНИЯ

Итак, для тех, кто не знаком, почти каждый браузер поддерживает набор нативных API из коробки, и среди них есть Geolocation API. Теперь, чтобы просмотреть полный список веб-API, нажмите здесь 👉 https://developer.mozilla. org/en-US/docs/Web/API

API геолокации позволяет нам получать координаты пользователя в защищенном контексте, а это значит, что сначала ему нужно разрешить доступ к местоположению, достаточно интересно? Давайте посмотрим на код и узнаем, как это работает.

БЫСТРЫЙ ПРИМЕР

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

Точка входа в API проходит через navigator.geolocation, который возвращает нам объект geolocation.

Этот интерфейс geolocation имеет интересный метод под названием getCurrentPosition(), так что давайте посмотрим на все эти аргументы.

  1. Обратный вызов в случае успеха или когда пользователи предоставляют доступ, и он принимает один параметр, который является объектом GeoLocationPosition в качестве аргумента.
  2. Аналогичный обратный вызов в случае, если пользователь не предоставил разрешение, и он принимает один параметр, который является `GeolocationPositionError, который содержит важную информацию о том, что пошло не так.
  3. Параметры, которые являются просто объектом для указания нескольких вещей, которые мы рассмотрим вскоре после этого.

GeoLocationPosition ОБЪЕКТ

Итак, это интересный объект, нам нужно посмотреть на его свойства.

  1. ccords у этого объекта есть интересные свойства, такие как долгота и широта, высота и точность, нас интересуют только свойства широты и долготы
  2. timestamp, который сообщает нам время, когда местоположение было получено

ПРОВЕРКА МЕСТОПОЛОЖЕНИЯ

По понятным причинам я не буду показывать свой вывод, но давайте продолжим и запустим консоль разработчиков в наших браузерах, просто щелкните правой кнопкой мыши и выберите «элемент insepct», затем перейдите на вкладку «консоль».

Вставьте код в приведенный выше фрагмент, он запросит у вас разрешение, поэтому нажмите «Разрешить» и наблюдайте за выводом :)

НО ЭТО НЕ ТОЧНО !!!!!

Да, очевидным недостатком этого подхода является неточность определения местоположения, поэтому я лично считаю, что это не представляет серьезной прямой угрозы, если не сочетается с некоторыми навыками OSINT.

ТЕМНАЯ СТОРОНА ВЕЩЕЙ 👀

Как я только что упомянул вышеИ ЭТО ПОЛНОСТЬЮ МОЁ СОБСТВЕННОЕ МНЕНИЕ,API сам по себе не представляет угрозы для вашей конфиденциальности или безопасности, но может угрожать, если используется не теми людьми, поэтому давайте продемонстрируем один из возможных сценариев. этим можно злоупотреблять, и последний совет о том, как предотвратить это

СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ

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

Давайте предположим, что один из этих злонамеренных пользователей, к сожалению, имеет достаточно знаний, чтобы создать веб-приложение, связанное с навигацией, которая довольно распространена и кажется полезной, верно? Ну, в этом случае НЕЕЕЕТ, помните, что он злой актер!

Итак, вы нажимаете на ссылку, потому что ваш замечательный «друг» в раздоре, возможно, сказал вам проверить его классный проект, который он построил :), но что на самом деле можно сделать за вашей спиной, если вы не очень разбираетесь в технологиях?

СИЛА HTTP

Hyper Text Ttransfer Protocol или HTTP – это протокол, используемый Интернетом для передачи данных между различными веб-службами. Он нужен вашему веб-приложению. чтобы получить последние фильмы через API некоторых фильмов, вам нужно подключиться к вашей базе данных, размещенной в облаке, для создания/чтения/обновления/удаления данных, HTTP в основном заставляет Интернет вращаться и вращаться

Так как же этим можно злоупотреблять? Что ж, в мире хакерских атак в большинстве случаев существует так называемый сервер управления и контроля или просто C&C-сервер, который в основном действует как панель управления, когда жертва запускает вредоносное ПО и подключается обратно к C&C-сервер для отправки данных о жертвах и получения команд о том, что делать дальше, и угадайте, что 👀 ТАКЖЕ ИСПОЛЬЗУЕТ HTTP

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

Пользователь переходит по ссылке, дает разрешение, мы используем fetch API для отправки данных на наш сервер разногласий с помощью веб-хуков.

НО ПОЧЕМУ DISCORD?

Это может быть что угодно, что позволяет нам отправлять ему HTTP-запросы, например, любой VPS, на котором работает какой-либо сервер, но Discord намного удобнее из-за веб-хуков, и довольно популярно и легко создавать свои собственные веб-хуки для вашего сервера, плюс вы можете получить к нему доступ на ваш телефон в любое время, пока вы скинули свою злую ссылку где-то в сети и продолжаете собирать информацию 😏

КАК Я МОГУ НЕ СТАТЬ ЖЕРТВОЙ ТАКОЙ АТАКИ

Что ж, в этом нет никакой магии, просто делайте то, что все твердят вам: ПЕРЕСТАНЬТЕ НАЖИМАТЬ НА НЕБОЛЬШИЕ ССЫЛКИ, потому что есть разница между уважаемым онлайн-сервисом, который хочет узнать ваше местоположение, например, карты Google или Earth, и случайным чудаком из Discord, отправляющим вам ссылку на «проверьте» его новый веб-сайт, так что да, никогда, никогда, никогда, никогда не доверяйте людям, которых вы не знаете, особенно со ссылками

КОД НЕ ПРЕДОСТАВЛЯЕТСЯ

По понятным причинам я решил не оставлять никакого кода, так что, по крайней мере, я не буду нести полную ответственность за какие-либо нарушения в результате какого-то заноса, который только что изучил HTML, думая, что они могут просто скопировать и вставить код, поэтому, по крайней мере, им нужно осмотреться. первый 😈

Большое спасибо за чтение и, как обычно, комментируйте ниже любые вопросы или что-то еще, что вы хотели бы сказать, и я сделаю все возможное, чтобы часто проверять мой Medium

Хорошего дня/ночи ♥️