Кратко о User Agent и актуальный Edge

OpenCard

Модератор
Модератор
Botnet&Logs
Друзья проекта
Premium member
Пользователь
Главный модератор
АвтоГарант : 2
Регистрация
19 Дек 2019
Сообщения
85
Баллы
0
Общие продажи
0$
Общие покупки
50$
Большинство из нас знают о способности сайтов получать информацию о посетителе, которую невозможно узнать из IP-адреса. Это такие «личные» данные, как название и версия приложения, данные об операционной системе устройства: версия, разрядность, язык по умолчанию и другие параметры, которые разнятся от устройства к устройству. Кто же так жестоко палит нас уже на первых подступах к сайту?

Дело в том, что при посещении любого веб-сайта, браузер первым делом передает HTTP запрос к серверу, который отвечает за данный сайт.
HTTP-запрос содержит в себе некоторый набор информации, например метод обработки данных (GET, POST), адрес запрашиваемого ресурса, IP-адрес отправителя, и, собственно,наш User Agent. Обычному пользователю это полезно: сайт в зависимости от параметров User-Agent может выдать специфическую верстку или показать информацию на нужном языке. Однако для нас раскрытие такой информации может быть вредно или даже опасно, в том случае, если мы используем кривой UA.

User-Agent - это текстовая часть запроса, которую веб-приложения (не обязательно браузеры) используют для передачи сайту информации о себе.
Помимо браузеров UA есть у утилит (Wget и cURL) и поисковых роботов — обычно в них содержится имя робота и ссылка на ресурс, с дерективами.
Соответственно структура UA различна для каждого приложения, вот несколько примеров для браузеров:

UserAgent браузера "Vivaldi"
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.143 Safari/537.36 Vivaldi/1.95.1077.45
- Система: Win 10, x64
- Браузер: Vivaldi ver. 1.95.1077.45
- Движок: Chrome ver. 64.0.3282.143

UserAgent браузера "Opera"
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 OPR/66.0.3515.72
- Система: Win 10, x64
- Браузер: Opera ver. 66.0.3515.72
- Движок: Chrome ver. 79.0.3945.130

UserAgent браузера "Chrome"
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.14.2987.98 Safari/537.36
- Система: macOS Mojave, ver 10.14.5 | Win 7, x64
- Браузер: Chrome ver. 74.0.3729.169 | 57.14.2987.98 (32 бит)
- Движок: Chrome ver. 74.0.3729.169 | 57.14.2987.98 (32 бит)

UserAgent браузера "Firefox"
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
- Система: Win 7, x64
- Браузер: Firefox ver. 54.0 (32 бит)
- Движок: Gecko ver. 54.0

Как видите, на нашем уровне использования UA все они выглядят +- одинаково, то, что я выделил цветом это исторически сложившаяся структура, которая появилась в результате "гонки браузеров", поэтому она будет присутствовать практически везде.
Каждая строка начинается с Mozilla/версия связано это с тем, что "Mozilla" это, можно сказать, отец всех браузеров, а его версию начали указывать для совместимости, а вообще все эти устоявшиеся параметры используют для совместимости (но иногда используют для контроля, почитайте про vivaldi) :) .
Так же стоит отметить, что параметры AppleWebKit/версия и Safari/версия всегда будут идентичны, связано это с тем, что AppleWebKit это движок браузера "Safari".
В браузере "Firefox" эти параметры вовсе отсутствуют, зато есть устойчивый параметр Gecko/20100101 это движок который использует "Firefox". Так же есть строка "rv:" это версия движка "Gecko", она соответствует версии "Firefox".

Ладно, заканчиваем с историей и переходим к менее абстрактным вещам, которые стоит понимать.

Для того, что бы понять какую информацию о нас отдаёт UserAgent посмотрите на эту таблицу, браузер отправил UA вида:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4122.7 Safari/537.36
Сайт получил из этого UA вот такую горку информации, согласитесь, даже на этом моменте любой антифрод зарубит пользователя, который использует кривой UA.

1.png

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

А я бы хотел разобрать настройку UA под браузер Edge, так как браузер потихоньку улучшается и набирает популярность, но при этом настройка UA содержит некоторое количество подводных камней, о которых мало кто знает (либо мало кто рассказывает, а точнее никто не рассказывает).

Начнём с того, что в браузере Edge каждая версия браузера привязана к конкретному движку (почти как опера), но движков у Edge два. Стоит учитывать ещё одну особенность, изначально браузер можно было использовать только на Windows 10, сейчас же поддерживаются все версии до Win 7 включительно. Таблица версий Edge выглядит следующим образом:

2.png

В Edge до 2019 года использовали свой движок EdgeHTML (выделение зеленым), а в декабре 2019 компания решила перейти на движок проекта Chromium, который называется Blink (красный соответственно). После перехода на Blink и появилась возможность спокойно использовать Edge на различных версиях Windows. Из-за всех этих манипуляций появляются небольшие проблемы с созданием и использованием UA. На сайте Microsoft, User Agent для браузера Edge указан так:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/version Safari/537.36 Edg/version
Такой вид UA используется начиная с версии 79, для версий пониже используется следующий UA:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/version Safari/537.36 Edge/version
Разница небольшая, но критичная:
Edg/ для версий на движке "Blink".
Edge/ для версий на движке "EdgeHTML".

Теперь пример - что может пойти не так:

Если передать версию движка "EdgeHTML" используя префикс Edg/ то сайт опознает движок "Blink52", но Edge использует Blink начиная с версии 79, а переднанной нами комбинации не существует.
Если же передать версию движка "Blink" используя префикс Edge/ , то он опознает "EdgeHTML 79" которого не существует, и при этом вся строка Agent будет не опознана.

1588169585500.png1588169704100.png

Посему если хотите подменить свой UA под браузер Edge, следите, что бы префикс Edg/ использовался только с версиями выше 79.
А префикс Edge/ с версиями до 44 включительно. Старайтесь не выдавать себя на такой мелочи.

Теперь по самой настройке, с версиями до 44 всё более менее стабильно, так как версии уже довольно старые и им соответствуют определенные устоявшиеся версии Chromium, посему для версий до 44 можно использовать мою вторую таблицу, где указаны актуальные версии Chromium. Чаще всего я встречал в логах инфу такого вида: "MicrosoftEdge 20.10240.0.0".

Это версия самого движка, которую указывать в UA не нужно, из этой версии нам нужны только первые 7 цифр, берем цифры и смотрим на таблицу - этой версии соответствует версия "EdgeHTML" - 12.10240, она то нам и нужна, соответственно для этой версии используется Chrome версии 42.0.2311.135, таким образом UA для версии Edge 20.10240.0.0. будет выглядеть следующим образом:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240
И что нам отвечает сайт, когда мы отсылаем ему такой UA:
3.png
Как видите, сайт сам опознал версию Edge 20.10240, хотя мы не указывали этого прямо, это значит, что мы всё сделали правильно.

Если кто не знает, то параметры (Windows NT 10.0; Win64; x64) отвечают за платформу операционной системы и разрядность системы (ещё там может быть тип шифрования, языки и т.д) опять же, что,куда и как обычно подменять - описано в платных лекциях, посему выносить сюда это не буду, различий нет.

С версиями выше 79, всё немного сложнее, версии движка Edge развиваются практически параллельно с движком Chromium, вот несколько примеров:
4.png
на самом деле их гораздо больше для каждой версии, но у нас есть гугОл, поэтому можно всегда найти версию движка Chromium под свою версию Edge, если это необходимо конечно.

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

И так как статья авторская, если вы её копипастите - будьте добры, указывайте откуда вы её перенесли и кто автор.
 
Последнее редактирование: