Я проверял состояние ордера FedEx в Brave, когда заметил в адресной строке уведомление, которое раньше никогда не видел. Он предупреждал меня, что «этот сайт заблокирован от доступа к вашим датчикам движения» . Wut? Это даже не должно быть статусом заказа -
Я пытаюсь понять, почему веб-сайту нужен доступ к датчику движения на мобильном устройстве, не говоря уже о том, что я использовал настольный компьютер . Получу ли я другой опыт, если выбью свой компьютер со стола? Наклоните мой монитор на бок? Хватать мышиный шнур и крутить его вокруг моей головы очень быстро?
После нескольких беглых онлайн-поисков я придумываю лишь несколько тем о
Думаю, пора копать немного глубже.
Что такое веб-API?
Прежде чем сосредоточиться на датчиках, давайте сделаем резервную копию и поговорим о веб-дизайне и
API геолокации
Одним из наиболее распространенных API-интерфейсов является тот, который используется для запроса вашего местоположения, обычно, когда вы используете «локатор магазина» на веб-сайтах, чтобы найти ближайший к вам магазин.
Кнопка ниже использует код (слегка измененный) из документации MDN
Если вы не видите приглашение, но думаете, что разрешили его, есть два разных параметра, управляющих доступом: глобальная страница со списком «заблокированных» и «разрешенных» сайтов и страница для каждого сайта, на которой вы Можно настроить все разрешения для одного сайта. В Chrome, просто замените brave://с chrome:// в адресной строке.
API уведомлений
Другой (к сожалению, очень ) популярный API - это тот, который используется для отображения уведомлений посетителям. Используяраздражать их, чтобы они были в курсе. ( Может не работать в Brave из-за ошибки.)
API датчиков
Существует (может быть, что-то вроде?) новый API для запроса доступа к датчикам в браузерах на основе Chromium (
Ознакомьтесь с
Следующие ссылки выполняют некоторый код JavaScript, чтобы попытаться запустить различные датчики, которые должны вызвать значок датчика в адресной строке. (Если возникнет ошибка, она отобразится под ссылками.)
Как и в случае API-интерфейсов геолокации и уведомлений, вы можете предоставить или запретить доступ на глобальном уровне или на уровне сайта. Раздражает то, что все вышеперечисленные датчики попадают под один зонтик «датчиков движения», поэтому вы не можете легко определить, к какому из этих датчиков пытается получить доступ конкретный объект.
Почему некоторые сайты запрашивают API датчиков?
д-р - я пока не знаю. Вот что я откопал до сих пор.
Я видел запрос датчика на нескольких сайтах, и другие сообщали о большем - FedEx, Lowes, Kayo Sports, Hotels.com и Anthem. Зачем таким разным сайтам, как те, которым нужен доступ к гироскопу или акселерометру? Как и все современные разработки, веб-сайты построены на слоях и слоях библиотек. Они используют один и тот же? Некая ли библиотека на несколько уровней запрашивает доступ к API, который ей не нужен?
Я еще не понял, но вот что у меня есть - не стесняйтесь нести факел.
Запутанный файл, возможно, от Akamai
Все страницы, которые я извлек, ссылаются на запутанный файл, который при удалении приводит к исчезновению значка датчика движения. Имя - это просто 112-битное случайное значение, которое не дает никаких подсказок.
Лоу
FedEx
ANTHEM
Hotels.com
Кайо Спортс
Так как 4 из 5 сайтов включили в себя вызов URL с «akam / 11 / pixel» непосредственно перед этим, я предполагаю, что это связано ... возможно, какая-то вещь отслеживания? Поиск akam/11/pixelприводит к загрузке других сайтов, которые также вызывают отображение значка сенсора.
Файл js со случайным именем всегда один и тот же,
Значения в _acмассиве могут иметь некоторые подсказки, и некоторые записи кажутся действительно подозрительными. Существует множество ссылок на различные плагины, и нет недостатка в ссылках на датчики (гироскоп, магнитометр, акселерометр и ускорение InclusionGravity, датчик внешней освещенности, вращение, скорость, deviceorientation и DeviceOrientationEvent, DeviceMotionEvent и sensor_data) и другие странные вещи (startTracking и requestWakeLock ).
Любые запросы на использование этих датчиков или даже проверка того, поддерживает ли их устройство, могут привести к тому, что значок датчика будет отображаться так же, как и он.
Следующие 30 строк после этой тоже содержат некоторые интересные вещи. Номер версии, некоторые счетчики, URL для какой-либо аналитики, ключ API и что-то (может быть, флаг?) С именем sensor_data, установленным в 0.
Быстрый
Особенно выделяется одна функция во всем этом беспорядке. Кажется, что он набирает тонны разрешений, чтобы увидеть, запрашивает ли браузер вас для каждого из них, или просто предоставляет или отклоняет их без запроса.
Когда скрипт выполняется, одна из функций, которые он запускает, получает имя startTrackingи запускается, bpdв свою очередь, вышеупомянутой функцией.np . Я не уверен, почему служба обнаружения ботов, если это так, должна их проверять, но, возможно, это всего лишь один сигнал из множества сигналов, которые они используют для определения, является ли запросчик человеком или ботом. ? Или, может быть, он используется как часть снятия отпечатков пальцев для отслеживания и индивидуальной идентификации посетителей?
Это так далеко, как я дошел до раскручивания этого до сих пор. Кто-нибудь еще нашел что-нибудь интересное? Не стесняйтесь поделиться ниже ...
Источник:
Ссылка скрыта от гостей
поднимает его.Я пытаюсь понять, почему веб-сайту нужен доступ к датчику движения на мобильном устройстве, не говоря уже о том, что я использовал настольный компьютер . Получу ли я другой опыт, если выбью свой компьютер со стола? Наклоните мой монитор на бок? Хватать мышиный шнур и крутить его вокруг моей головы очень быстро?
После нескольких беглых онлайн-поисков я придумываю лишь несколько тем о
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
которые указывают, что люди также видят это на
Ссылка скрыта от гостей
и Twitch , а также Experian и Tutanota.Думаю, пора копать немного глубже.
Что такое веб-API?
Прежде чем сосредоточиться на датчиках, давайте сделаем резервную копию и поговорим о веб-дизайне и
Ссылка скрыта от гостей
. Ваш браузер имеет доступ к большому количеству данных через (и метаданные относительно) устройства, на котором вы его установили. Столько, сколько
Ссылка скрыта от гостей
бы ни посещали , чтобы иметь доступ ко всем этим данным, любой приличный браузер действует как брандмауэр, блокируя этот доступ по умолчанию и предлагая вам разрешить его.API геолокации
Одним из наиболее распространенных API-интерфейсов является тот, который используется для запроса вашего местоположения, обычно, когда вы используете «локатор магазина» на веб-сайтах, чтобы найти ближайший к вам магазин.
Кнопка ниже использует код (слегка измененный) из документации MDN
Ссылка скрыта от гостей
. Когда вы щелкаете по нему, код JavaScript выполняет вызов
Ссылка скрыта от гостей
, запрашивая у вашего браузера местоположение.Если вы не видите приглашение, но думаете, что разрешили его, есть два разных параметра, управляющих доступом: глобальная страница со списком «заблокированных» и «разрешенных» сайтов и страница для каждого сайта, на которой вы Можно настроить все разрешения для одного сайта. В Chrome, просто замените brave://с chrome:// в адресной строке.
API уведомлений
Другой (к сожалению, очень ) популярный API - это тот, который используется для отображения уведомлений посетителям. Используя
Ссылка скрыта от гостей
, вы можете запросить разрешение у посетителя с помощью вызова, Notification.requestPermission() а затем просто создать, new Notification() чтобы API датчиков
Существует (может быть, что-то вроде?) новый API для запроса доступа к датчикам в браузерах на основе Chromium (
Ссылка скрыта от гостей
помещает его в Chrome 75 примерно в июне 2019 года, но
Ссылка скрыта от гостей
предлагает Chrome 67 в мае 2018 года). Это еще не широко поддерживается. Согласно MDN, единственными крупными браузерами, которые в настоящее время поддерживают его, являются Chrome и Opera для настольных компьютеров и мобильных устройств.Ознакомьтесь с
Ссылка скрыта от гостей
по
Ссылка скрыта от гостей
,
Ссылка скрыта от гостей
в
Ссылка скрыта от гостей
, продолжающимся обсуждением в
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
Intel
Ссылка скрыта от гостей
для примера.Следующие ссылки выполняют некоторый код JavaScript, чтобы попытаться запустить различные датчики, которые должны вызвать значок датчика в адресной строке. (Если возникнет ошибка, она отобразится под ссылками.)
- Попробуй акселерометр
- Попробуйте AmbientLightSensor
- Попробуйте гироскоп
- Попробуй LinearAccelerationSensor
- Попробуй магнитометр
- Попробуйте AbsoluteOrientationSensor (акселерометр, гироскоп, магнитометр)
- Попробуйте RelativeOrientationSensor (акселерометр, гироскоп)
Как и в случае API-интерфейсов геолокации и уведомлений, вы можете предоставить или запретить доступ на глобальном уровне или на уровне сайта. Раздражает то, что все вышеперечисленные датчики попадают под один зонтик «датчиков движения», поэтому вы не можете легко определить, к какому из этих датчиков пытается получить доступ конкретный объект.
Почему некоторые сайты запрашивают API датчиков?
д-р - я пока не знаю. Вот что я откопал до сих пор.
Я видел запрос датчика на нескольких сайтах, и другие сообщали о большем - FedEx, Lowes, Kayo Sports, Hotels.com и Anthem. Зачем таким разным сайтам, как те, которым нужен доступ к гироскопу или акселерометру? Как и все современные разработки, веб-сайты построены на слоях и слоях библиотек. Они используют один и тот же? Некая ли библиотека на несколько уровней запрашивает доступ к API, который ей не нужен?
Я еще не понял, но вот что у меня есть - не стесняйтесь нести факел.
Запутанный файл, возможно, от Akamai
Все страницы, которые я извлек, ссылаются на запутанный файл, который при удалении приводит к исчезновению значка датчика движения. Имя - это просто 112-битное случайное значение, которое не дает никаких подсказок.
- Лоу: c45ff2fedf18894428b6eae366abf1
- FedEx: b6c65804238fde1fae4a597ae052
- Гимн: c3ce05c96199f8c080a174ece11ff
- ... и так далее.
Лоу
Код:
<noscript>
<img src="https://www.lowes.com/akam/11/pixel_49faa00b?a=dD1jMjczMGNkMmRlNmY0NDYwY2Q5MzQ2ZGVjNWI5YWIwZjEwZDM2Nzg0JmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" />
</noscript>
<script type="text/javascript" >
var _cf = _cf || [];
_cf.push(['_setFsp', true]);
_cf.push(['_setBm', true]);
_cf.push(['_setAu', '/resources/c45ff2fedf18894428b6eae366abf1']);
FedEx
Код:
<noscript>
<img src="https://www.fedex.com/akam/11/pixel_190b4e7f?a=dD05YmZjNzQ1Njc1YTU3MDA5OWY0MDFiYjRmOWU3YTJhMzJjNjljNjdlJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" />
</noscript>
<script type="text/javascript" >
var _cf = _cf || [];
_cf.push(['_setFsp', true]);
_cf.push(['_setBm', true]);
_cf.push(['_setAu', '/assets/b6c65804238fde1fae4a597ae052']);
</script>
<script type="text/javascript" src="/assets/b6c65804238fde1fae4a597ae052"></script>
ANTHEM
Код:
<noscript>
<img src="https://www.anthem.com/akam/11/pixel_31f28831?a=dD04MTAwN2I4YzhlYmNjYjUzYTNjMzA2OTIyMjllNjYzOTRhYjRjNzFiJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" />
</noscript>
<script type="text/javascript" >
var _cf = _cf || [];
_cf.push(['_setFsp', true]);
_cf.push(['_setBm', true]);
_cf.push(['_setAu', '/public/c3ce05c96199f8c080a174ece11ff']);
</script>
<script type="text/javascript" src="/public/c3ce05c96199f8c080a174ece11ff"></script>
Hotels.com
Код:
<script type="text/javascript" >
var _cf = _cf || [];
_cf.push(['_setFsp', true]);
_cf.push(['_setBm', true]);
_cf.push(['_setAu', '/assets/0997d10d16655fda9826ab5d88ea']);
</script>
<script type="text/javascript" src="/assets/0997d10d16655fda9826ab5d88ea"></script>
Кайо Спортс
Код:
<noscript>
<img src="https://kayosports.com.au/akam/11/pixel_52bf70fb?a=dD05ZWY4MzI1MTFjODFmMGFmYzhkZmUzNzhkZWNmM2RiZjVmYzc5ZWVhJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" />
</noscript>
<script type="text/javascript" >
var _cf = _cf || [];
_cf.push(['_setFsp', true]);
_cf.push(['_setBm', true]);
_cf.push(['_setAu', '/assets/662c194b202d4b929be8d06c3195']); </script>
<script type="text/javascript" src="/assets/662c194b202d4b929be8d06c3195"></script>
Так как 4 из 5 сайтов включили в себя вызов URL с «akam / 11 / pixel» непосредственно перед этим, я предполагаю, что это связано ... возможно, какая-то вещь отслеживания? Поиск akam/11/pixelприводит к загрузке других сайтов, которые также вызывают отображение значка сенсора.
Файл js со случайным именем всегда один и тот же,
Ссылка скрыта от гостей
. Мне удалось
Ссылка скрыта от гостей
с помощью онлайн-инструмента, а затем
Ссылка скрыта от гостей
сценарий поиска и заменить его на тот _acмассив, который содержит 711 элементов, но это только покажет вам. Выяснить, что это делает, будет непросто, но поиск кусочков кода выявил
Ссылка скрыта от гостей
Ссылка скрыта от гостей
предполагая, что это
Ссылка скрыта от гостей
Akamai. .Значения в _acмассиве могут иметь некоторые подсказки, и некоторые записи кажутся действительно подозрительными. Существует множество ссылок на различные плагины, и нет недостатка в ссылках на датчики (гироскоп, магнитометр, акселерометр и ускорение InclusionGravity, датчик внешней освещенности, вращение, скорость, deviceorientation и DeviceOrientationEvent, DeviceMotionEvent и sensor_data) и другие странные вещи (startTracking и requestWakeLock ).
Код:
var _ac = ["aj_indx_tact", "bind", "driver", "doe_cnt", "mousedown", "Batang", "clientHeight", "emit", "indexOf", "enReadDocUrl", "Palatino", "fpValstr", "onpointerup", "\"", "dm_en", "/get_params", "rVal", "return/*@cc_on!@*/!1", "-1,2,-94,-70,", "http://", "storage", "", "onkeypress", "navigator", "mn_update_challenge_details", "keydown", "spawn", "bm-telemetry", "y1", "-1,2,-94,-121,", "mediaDevices", "fillText", "mn_ct", "requestWakeLock", "Noto", "=", "//", "rotationRate", "call", "mn_mc_lmt", "toLowerCase", "uar", "Palatino-Bold", "arc", "-1,2,-94,-120,", "td", "unk", "z", "devicemotion", "gf", "push", ":", "TI-Nspire", "Edge PDF Viewer", "dme_cnt_lmt", "prototype", "hpu", "hku", "hkd", "mn_ts", "mn_tout", "Version/4.0", "non:", "sensor_data", "display", "getFloatVal", "sort", "ambient-light-sensor", "number", "~", "WebKit-integrierte PDF", "RTCPeerConnection", "0a46G5m17Vrp4o4c", "now", "value", "iPad;", "map", "GET", "mme_cnt", "msHidden", "vc", "||", "-1,2,-94,-124,", "-1", "x12:", "hf", "pstate", "callPhantom", "sd_debug", "RealPlayer Version Plugin", "lastIndexOf", "hpd", "floor", "XDomainRequest", "mn_lc", "clipboard-write", "pme_cnt", "vc_cnt_lmt", "AlNile", "shiftKey", "runFonts", "isIgn", "fpVal", "<@nv45. F1n63r,Pr1n71n6!", "hostname", "cka", "DeviceOrientationEvent", "mn_init", "accelerometer", "sqrt", "alpha", "applyFunc", "webkitRTCPeerConnection", "mduce_cnt_lmt", "attachEvent", "get_browser", "-1,2,-94,-116,", "is not a valid enum value of type PermissionName", "colorDepth", "dm_dis", "2d", "mn_h", "ke_vel", "$cdc_asdjflasutopfhvcZLmcfl_", "target", ",s7:", "Lobster", "touchcancel", "listFunctions", "-1,2,-94,-112,", ",s2:", "acos", "default", "ins", "-1,2,-94,-106,", "xagg", "visibilitychange", "hc", "pointerType", "Windows Media Player Plug-in Dynamic Link Library", "setRequestHeader", "mn_mc_indx", "Roboto", "vib:", "PLUGINS", "opc:", "get_cookie", "return a", "required", "dm:", "domAutomation", "midi", "onLine", "beta", "fillRect", "2", "informinfo", "keyCode", "doadma_en", "</setSDFN>", "dme_vel", "which", "hmu", "dmact", "==", "-1,2,-94,-119,", "aj_lmt_doact", "do_en", "appMinorVersion", "Mac OS X 10_5", "clearCache", "font", "getStorageUpdates", "Basic ", "x11:", "onblur", "monospace", "outerWidth", "htm", "Damascus", ",s3:", "isTrusted", "cookie_chk_read", "ff", "TouchEvent", "Bell MT", "altKey", "0", "-1,2,-94,-115,", "mozRTCPeerConnection", "pd", "tme_cnt", "hypot", "imul", "dis", "mn_il", "sf4", "hmm", "Google Earth Plug-in", "pact", "doe_cnt_lmt", "vibrate", "start_ts", "offsetHeight", "localStorage", "deviceorientation", "onmouseup", "join", "round", "height", "documentElement", "mozAlarms", "ceil", "Unity Player", "Java Plug-in 2 for NPAPI Browsers", "sc:", "doact", "Century Gothic", "geolocation", "none", "Birch Std", "enGetLoc", "mousemove", "tme_cnt_lmt", "6pt Arial", "toDataURL", "keyup", ",cpen:", "canvas", "Droid Serif", "tduce_cnt_lmt", "pluginInfo", "XMLHttpRequest", "name", "webkitHidden", "url", "mn_abck", "touchend", "afSbep8yjnZUjq3aL010jO15Sawj2VZfdYK8uY90uxq", "-1,2,-94,-109,", "#f60", "fromCharCode", "stroke", "Futura", "fpcf", "style", "bpd", "ver", "abs", "cc", "rgb(120, 186, 176)", "pe_cnt", "timezoneOffsetKey", "documentMode", "createElement", "webdriver", "Default Browser Helper", "nav_perm", "x", ",0", "undefined", "Minion Pro", "getTimezoneOffset", "webstore", "mact", "Shockwave Flash", "aj_lmt_dmact", "-", ",loc:", "storeWebWideTrackingException", "-1,2,-94,-117,", "Corsiva Hebrew", "doa_throttle", "rCFP", "hmd", "accelerationIncludingGravity", "message", "bd", "}", "hasIndexedDB", "permissions", "gd", "language", "asin", "pe_vel", "fontSize", "serviceWorker", "removeChild", "hvc", "cma", "sessionStorage", "apid.cformanalytics.com/api/v1/attempt", "magnetometer", "apicall_bm", "XPathResult", "sed", "default_session", "; ", "ke_cnt", "granted", "-1,2,-94,-80,", "metaKey", "params_url", "credentials", "Silverlight Plug-In", "{\"sensor_data\":\"", "https:", "<init/>", "readyState", "mn_al", "return ", "msManipulationViewsEnabled", "Mozilla Default Plug-in", "n_ck", "tst", "hasSessionStorage", "hts", "Shockwave for Director", "<setSDFN>", "onkeyup", "webrtcKey", "mozInnerScreenY", "parse_gp", "fonts", "query", "Century", "fillStyle", "undef", "startdoadma", "Apple Gothic", "pointerup", "disFpCalOnTimeout", "firstLoad", "t_dis", "sdfn", "webkitTemporaryStorage", "msvisibilitychange", "onmousedown", "Chrome PDF Viewer", "bc", "withCredentials", "init_time", "charCode", "DeviceMotionEvent", "cssText", "aj_indx", "pme_cnt_lmt", "toFixed", "function", "span", "Native Client", "fpValCalculated", "availHeight", "lang", "get_cf_date", "getElementById", "aj_ss", "document", "rir", "vcact", "me_cnt", "_", "mn_r", "hasLocalStorage", "get_mn_params_from_abck", "atanh", "getBattery", "Geneva", "mr", "mn_cd", "-1,2,-94,-103,", "fontFamily", "get_type", "body", "POST", "Calibri", "MSIE", "mozPhoneNumberService", "hkp", "ke_cnt_lmt", "input", "pageY", "pageX", "rgb(102, 204, 0)", "background-sync", "pen", "Buffer", "fonts_optm", "pointerdown", "plen", "userAgent", "offsetWidth", "-1,2,-94,-100,", "altFonts", "bluetooth", "mozvisibilitychange", "getforminfo", "_abck", "cbrt", "substring", "Authorization", "data", "Chrome Remote Desktop Viewer", "on", "fc:", "productSub", "touchmove", "search", "aj_indx_dmact", "clientX", "\\\'", "mduce_cnt", "denied", "clipboard-read", "getElementsByName", "QuickTime Plug-in", "div", "webkitGetGamepads", "parseInt", "exp", "isc:", "-1,2,-94,-118,", "doe_vel", "hidden", "childNodes", "Adobe Hebrew", "microphone", "-1,2,-94,-108,", "cdma", "button", "aj_indx_doact", "mn_get_current_challenges", "Java Applet Plug-in", "mouse", "clientWidth", "sendBeacon", "cache", "getGamepads", "Google Talk Plugin Video Renderer", "all", "onclick", "location", "Microsoft Office Live Plug-in", "state", "psub", "webkitvisibilitychange", "sessionStorageKey", "Fantasque Sans Mono", "mn_sen", "aj_lmt_tact", "AdobeAAMDetect", "Courier New", "fas", "hardwareConcurrency", "Papyrus", "Lato", "RealPlayer(tm) G2 LiveConnect-Enabled Plug-In (32-bit)", ";", "split", "innerHeight", "ckie", "-1,2,-94,-114,", "ce_js_post", "check_stop_protocol", "tduce_cnt", ",setSDFN:", "_phantom", "iPhotoPhotocast", "selenium", "persistent-storage", "pixelDepth", "gb", "requestMediaKeySystemAccess", "auth", "Cantarell", "; path=/; expires=Fri, 01 Feb 2025 08:00:00 GMT;", "/_bm/_data", "cf_url", "Helvetica Neue", "calc_fp", "mn_w", "/", "application/json", "slice", "1", "Courier", "cta", "t_en", "Adobe Braille", "Cambria", "off", "opera", "abcdefhijklmnopqrstuvxyz1234567890;+-.", "URL", "Constructor", "Adobe Acrobat", "Microsoft Sans Serif", "doNotTrack", "gamma", "o9", "-1,2,-94,-122,", "Open Sans", "</bpd>", "onpointerdown", "password", "set_cookie", "vc_cnt", "getdurl", "90px", "notifications", "dme_cnt", "onload", "mozHidden", "bm", "localStorageKey", "tact", "\"}", "d2", "\",\"sensor_data\" : \"", "updatet", "session_id", "splice", "ctrlKey", "then", "Avenir", "dma_throttle", "od", "mn_lcl", "New York", "indexedDbKey", "bdm", "charAt", "-1,2,-94,-105,", "den", "clipboard", "exception", "cns", "chknull", "ir", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", "hb", "random", "mozIsLocallyAvailable", "width", "ab", "pduce_cnt", "camera", "onmousemove", "rotate_left", "shift", "sans-serif", ",uaend,", "device-info", "me_vel", "keypress", "do_dis", "id", "Ubuntu Regular", "type", "string", "toString", "lvc", "wen", "payment-handler", "innerWidth", "mn_lg", "send", "onfocus", "strokeStyle", "iPhone", "htc", "prod", "Apple LiGothic", "mn_poll", "loc", "accessibility-events", "Monaco", "apply", "prevfid", "HTMLElement", "gyroscope", "x1", "javaEnabled", "te_vel", "SharePoint Browser Plug-in", "-1,2,-94,-102,", "activeElement", "https://", "Avenir Next", "wrc:", "startTracking", "kact", "d3", "screen", "mn_get_new_challenge_params", "to", "registerProtocolHandler", "-1,2,-94,-123,", "defaultValue", "a", "-1,2,-94,-101,", "Microsoft.XMLHTTP", "Times", "rve", "-1,2,-94,-111,", "product", "tel", "onreadystatechange", "np", "js_post", "protocol", "mozConnection", "email", "YouTube Plug-in", "text", "mn_stout", ",\"auth\" : \"", "Comic Neue", "mn_state", "-1,2,-94,-127,", "length", "cs", "getmr", "mn_pr", "PI", "pduce_cnt_lmt", "mme_cnt_lmt", "mn_psn", "m,Ev!xV67BaU> eh2m<f3AG3@", "enAddHidden", "-1,2,-94,-126,", "3", "cwen:", "getContext", "aj_type", "hte", "ta", "charCodeAt", "chrome", "getAttribute", "Content-type", "z1", "indexedDB", "clientY", "serif", "ArialHebrew-Light", "plugins", "get_stop_signals", "cookieEnabled", "i1:", "cdoa", "-1,2,-94,-110,", "Source Sans Pro", "pi", "getElementsByTagName", "bmisc", "te_cnt", "y", "addEventListener", ",it0", "mouseup", "x2", "speaker", "parse", "event", "patp", "fidcnt", "position: relative; left: -9999px; visibility: hidden; display: block !important", "\\\\\"", "{\"session_id\" : \"", "mn_ld", "cookie", "pow", "replace", "FileReader", "Oswald", ",s1:", "onkeydown", "acceleration", "catch", "touchstart", "api_public_key", "innerHTML", "toElement", "Ubuntu Medium", "autocomplete", "cpa", "prompt", "open", "mn_tcl", "Quicksand", "rst", "t_tst", "appendChild", "appVersion", "PointerEvent", "Widevine Content Decryption Module", "fsp", "bat:", "forEach", "WebEx64 General Plugin Container", "hn", "mn_cc", "16pt Arial", "availWidth", "click", "encode", "encode_utf8", "<bpd>", ",", ",mn_w:"];
Любые запросы на использование этих датчиков или даже проверка того, поддерживает ли их устройство, могут привести к тому, что значок датчика будет отображаться так же, как и он.
Следующие 30 строк после этой тоже содержат некоторые интересные вещи. Номер версии, некоторые счетчики, URL для какой-либо аналитики, ключ API и что-то (может быть, флаг?) С именем sensor_data, установленным в 0.
Код:
var _cf = _cf || [],
bmak = bmak || {
ver: 1.54,
ke_cnt_lmt: 150,
mme_cnt_lmt: 100,
mduce_cnt_lmt: 75,
pme_cnt_lmt: 25,
pduce_cnt_lmt: 25,
tme_cnt_lmt: 25,
tduce_cnt_lmt: 25,
doe_cnt_lmt: 10,
dme_cnt_lmt: 10,
vc_cnt_lmt: 100,
doa_throttle: 0,
dma_throttle: 0,
session_id: default_session,
js_post: !1,
loc: ,
cf_url: (https: === document[location][protocol] ? https:// : http://) + apid.cformanalytics.com/api/v1/attempt,
params_url: (https: === document[location][protocol] ? https:// : http://) + document[location][hostname] + /get_params,
auth: ,
api_public_key: afSbep8yjnZUjq3aL010jO15Sawj2VZfdYK8uY90uxq,
aj_lmt_doact: 1,
aj_lmt_dmact: 1,
aj_lmt_tact: 1,
ce_js_post: 0,
init_time: 0,
informinfo: ,
prevfid: -1,
fidcnt: 0,
sensor_data: 0,
Быстрый
Ссылка скрыта от гостей
на cformanalytics.comпредположить , что он принадлежит к Akamai. Это может означать, что какой-то другой сервис использует их API, но, учитывая найденные потоки, я подозреваю, что он принадлежит Akamai.
Код:
Domain Name: CFORMANALYTICS.COM
Registry Domain ID: 1897860898_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.akamai.com
Registrar URL: http://www.akamai.com
Updated Date: 2020-04-07T18:35:33Z
Creation Date: 2015-01-24T01:00:53Z
Registry Expiry Date: 2022-01-24T01:00:53Z
Registrar: Akamai Technologies, Inc.
Registrar IANA ID: 2480
Registrar Abuse Contact Email: registrar-abuse@akamai.com
Registrar Abuse Contact Phone: +1.6174443076
Особенно выделяется одна функция во всем этом беспорядке. Кажется, что он набирает тонны разрешений, чтобы увидеть, запрашивает ли браузер вас для каждого из них, или просто предоставляет или отклоняет их без запроса.
Код:
np: function () {
var a = [],
t = [geolocation, notifications, push, midi, camera, microphone, speaker, device-info, background-sync, bluetooth, persistent-storage, ambient-light-sensor, accelerometer, gyroscope, magnetometer, clipboard, accessibility-events, clipboard-read, clipboard-write, payment-handler];
try {
if (!navigator[permissions]) return 6;
var e = function (t, e) {
return navigator[permissions][query]({
name: t
})[then](function (t) {
switch (t[state]) {
case prompt:
a[e] = 1;
break;
case granted:
a[e] = 2;
break;
case denied:
a[e] = 0;
break;
default:
a[e] = 5
}
})[catch](function (t) {
a[e] = -1 !== t[message][indexOf](is not a valid enum value of type PermissionName) ? 4 : 3
})
},
n = t[map](function (a, t) {
return e(a, t)
});
Promise[all](n)[then](function () {
bmak[nav_perm] = a[join]()
})
} catch (a) {
return 7
}
},
Когда скрипт выполняется, одна из функций, которые он запускает, получает имя startTrackingи запускается, bpdв свою очередь, вышеупомянутой функцией.np . Я не уверен, почему служба обнаружения ботов, если это так, должна их проверять, но, возможно, это всего лишь один сигнал из множества сигналов, которые они используют для определения, является ли запросчик человеком или ботом. ? Или, может быть, он используется как часть снятия отпечатков пальцев для отслеживания и индивидуальной идентификации посетителей?
Это так далеко, как я дошел до раскручивания этого до сих пор. Кто-нибудь еще нашел что-нибудь интересное? Не стесняйтесь поделиться ниже ...
Источник:
Ссылка скрыта от гостей