Определите конечный адрес, скрытый за «Safe Links», «URL Defense» и другими оболочками (Mimecast: домен).
Парсер URL
Сам инструмент доступен на английском языке; на этой странице приведено его описание на вашем языке.
Используйте Парсер URL
Для чего это нужно
Разбейте URL на протокол, имя хоста, порт, путь, строку запроса и фрагмент с помощью встроенного URL-парсера браузера, чтобы увидеть, на какой хост на самом деле указывает ссылка.
Приложение работает полностью в браузере: никакие введенные вами данные не передаются на сервер.
Как использовать Парсер URL
- Вставьте ссылку целиком. Замените пример ссылкой, которую нужно проверить. Укажите схему, например https://, иначе разбор не удастся.
- Разберите. Нажмите Parse или Enter. Страница использует встроенный URL-парсер вашего браузера и не открывает ссылку.
- Проверьте Hostname. Hostname — это сервер, к которому обратится браузер. Читайте его с конца: зарегистрированный домен — последняя часть, а не первая.
- Посмотрите порт, путь и фрагмент. Port показывает default для обычного порта. Pathname, Search и Hash показывают остальную часть ссылки после нормализации браузером.
- Прочитайте параметры запроса. Таблица перечисляет каждый ключ с декодированным значением. Ищите второй URL, адрес электронной почты или токен.
- Сделайте следующий шаг. Используйте Send to…, чтобы распаковать обёрнутую ссылку в Link Unwrapper, проверить хост в Homoglyph Checker или найти abuse-контакт.
Пример
Название бренда перед @
https://paypal.com@account-verify.example/signin?session=8f3a2c&next=%2Fwallet#step-2PROTOCOL
https:
HOSTNAME
account-verify.example
PORT
default
PATHNAME
/signin
SEARCH
?session=8f3a2c&next=%2Fwallet
HASH
#step-2
Query params
KEY VALUE
session 8f3a2c
next /walletHostname — account-verify.example: paypal.com перед @ — лишь имя пользователя, и инструмент не выводит его отдельным полем. Таблица параметров запроса показывает session и next, декодированный в /wallet.
Что проверяется
| Сигнал | Что это означает |
|---|---|
| Protocol (протокол) | http: означает, что соединение не шифруется. При схеме вроде javascript: поле Hostname пустое, потому что ссылка вообще не является веб-адресом. |
| Hostname (имя хоста) | Настоящий адрес назначения. Всё, что перед @, отбрасывается, десятичные, шестнадцатеричные и восьмеричные формы IPv4 превращаются в адрес с точками, а не-ASCII имена показываются в punycode xn--. |
| Port (порт) | default для стандартного порта, даже если в ссылке явно указан :443 для https. Любое другое число — нестандартный порт, необычный для публичной страницы входа. |
| Pathname (путь) | Путь после того, как браузер обработал сегменты ../ и превратил обратные косые черты в прямые, так что видно, куда на самом деле уходит запрос. |
| Search (строка запроса) | Исходная строка запроса, всё ещё закодированная, ровно в том виде, в каком она будет отправлена серверу. |
| Hash (фрагмент) | Фрагмент после #. Он не отправляется серверу, но скрипты на странице могут его прочитать, поэтому в нём могут передаваться данные, например адрес электронной почты. |
| Таблица Query params | Каждый ключ и значение с декодированной процентной кодировкой, где + читается как пробел. Значение, которое само является URL, — это цель перенаправления. |
| Отсутствующие данные пользователя | Часть перед @, например название бренда, не появляется ни в одном поле. Если в ссылке есть @ между // и следующим /, знакомое имя перед @ — лишь имя пользователя. |
Еще примеры
Знакомое имя перед другим доменом
https://login.example.com.secure-check.example.net:8443/reset?token=abc&email=bob%40example.org#doneProtocol https:, Hostname login.example.com.secure-check.example.net, Port 8443, Pathname /reset, Search ?token=abc&email=bob%40example.org, Hash #done. Query params: token = abc, email = bob@example.org. Зарегистрированный домен — example.net.
Ссылка, которую переписывает браузер
https://203.0.113.9:443/admin/../panel/?redirect=https%3A%2F%2Fexample.org&q=a+bHostname 203.0.113.9, Port default, Pathname /panel/, Hash —. Query params: redirect = https://example.org и q = a b.
IPv4-адрес в восьмеричной записи
http://0300.0000.0002.0001/Protocol http:, Hostname 192.0.2.1, Port default, Pathname /, Search — и Hash —. Каждая часть с ведущим нулём читается как восьмеричное число.
Часто задаваемые вопросы
Как он помогает с фишинговыми ссылками?
Он показывает имя хоста, к которому браузер на самом деле обратится. В https://paypal.com@evil.example/ хост — evil.example, десятичные или шестнадцатеричные хосты вроде http://3221225985/ показываются как IPv4-адрес с точками (192.0.2.1), а похожие Unicode-домены — в форме punycode xn--.
Что он не показывает и не проверяет?
Часть URL с именем пользователя и паролем не отображается, а инструмент не переходит по перенаправлениям, не распаковывает Safe Links и не оценивает хост. Текст без схемы, например example.com/login, даёт ошибку Invalid URL.
Открывается ли URL или отправляется ли он куда-нибудь?
Нет. Разбор использует URL API браузера на этой странице; ссылка никогда не запрашивается, и ничего не загружается.
Как найти зарегистрированный домен в Hostname?
Читайте справа. В login.example.com.secure-check.example.net последние две метки, example.net, — это домен, который кто-то зарегистрировал, а всё перед ними — выбранный им поддомен. Национальные суффиксы вроде co.uk занимают три метки.
Почему строка запроса показана дважды?
Search — это исходный текст после ?, всё ещё закодированный, в том виде, в каком его получает сервер. Таблица декодирует каждое значение, поэтому %40 становится @, а + — пробелом.
Можно ли вставить обезвреженную ссылку?
Не напрямую. Ссылка с [.] не разбирается, а hxxps:// читается как неизвестная схема hxxps:. Сначала восстановите её в URL Defanger или используйте Link Unwrapper, который принимает обезвреженный ввод.