...

суббота, 8 марта 2014 г.

Определение локальных IP-адресов через WebRTC

Через WebRTC можно получить список всех локальных (находящихся за NAT) интерфейсов в системе.

Пример кода на JavaScript jsfiddle.net/GZurr


Работает только в браузерах поддерживающих WebRTC, на текущий момент это Firefox и Chrome.


Это можно использовать для получения более точного фингерпринта браузера или, например, разоблачения персонажей, сидящих за VPN, чтобы ВЫЧИСЛИТЬ ПО АЙПИ И НАБИТЬ Е**ЛЬНИК


Для удобства использования я изготовил js-сниффер, который можно вставить на страницу и удобно просматривать результат его работы: http://ift.tt/1fUfh9N


Достаточно вставить на страницу код:



<script src="//zhovner.com/jsdetector.js?name=test"></script>

Где test нужно заменить на слово, по которому будет доступен результат работы сниффера: http://ift.tt/1fUfh9P




Из примечательного в скрипте — определение адресов пользовательского резовлера.


Скрипт генерирует несколько рандомных поддоменов вида RANDOM.detect.zhovner.com и обращается к ним по HTTP.


Зона *.detect.zhovner.com делегирована wildcard-ом на NS-сервер, которые логирует запросы резолверов, и при обращении к сайтам возвращает source адрес, с которого пришел резолвер.


Нужно иметь в виду, что SSL сертификат валидный только для корневого домена, но не для *.detect.zhovner.com, поэтому при встраивании скрипта на https-сайты, будет показано предупреждение о контенте загружаемом не по HTTPS.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий