Так как Яндекс, по всей видимости, не собирается закрывать свой шпионский «баг», давайте тогда будем активно им пользоваться.
Возможность определения физического местоположения пользователя может быть порой весьма полезна, если вы сотрудник министерства правды, коллектор или просто криминальный элемент.
Для этого необходимо с помощью известной XSS или CSRF уязвимости в прошивке домашнего роутера (раз, два, три и др) определить MAC адрес маршрутизатора пользователя (он же и будет BSSID Wi-Fi сети). Если у вас есть прямой доступ к ПК пользователя, то достаточно просмотреть ARP кэш на ПК с помощью команды «arp -a». Обычно первой строчкой в кэше идет MAC адрес шлюза по-умолчанию, который и будет искомым BSSID.
Полученный BSSID можно вставить в запрос, который отсылает Яндекс.Метро:
curl
-H 'User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.0.1; Nexus 5 Build/LRX22C)' -H 'Content-Type: application/x-www-form-urlencoded'
'http://mobile.maps.yandex.net/cellid_location/?clid=1866854&lac=-1&cellid=-1&operatorid=null&countrycode=null&signalstrength=-1&wifinetworks=EE43F6D1B690:-65&app=ymetro'
После чего мы получим вот такой ответ:
В ответном пакете указаны координаты запрошенной wi-fi точки доступа, бережно собранные и сохранённые Яндексом. Можно вбить их в Google Maps и найти нужный вам дом. Координаты не всегда точные, но как отправная точка для поисков сгодятся.
Ещё одна любопытная особенность: в примере указан MAC адрес краснодарского маршрутизатора (~1500 км до метро). Надеюсь, это знак того, что у нас скоро построят метро!
Автор: merced2001