Разделы

Наука Цифровизация Бизнес-приложения

Что вы знаете об URL'ах?

Не случалось ли вам встречать в интернете адреса, которые выглядят, как минимум, странно, если не сказать - подозрительно? Что-нибудь вроде http://3523654789@3474540315/%57O%52L%44/?
Не всегда и не обязательно такие адреса ведут в никуда. Приведенный выше пример приведет вас на страницу всемирных новостей CNN World News, которая находится по адресу с обычным URL http://www.cnn.com/WORLD/

Теперь попробуйте побывать здесь:
http://!$^&*()_+`-={}|[]:;@www.cnn.com/WORLD/ , а также
http://207.25.71.27/WORLD/ 
http://24949376795/WORLD/ 
http://00000317.0000031.00000107.0000033/WORLD/ 
http://0xcf.0x19.0x47.0x1b/WORLD/ 
http://0xCF.25.0107.0x1B/WORLD/

Удивлены? Ничего страшного - большинство посетителей интернета и даже некоторая часть разработчиков Web-страниц не догадываются о существовании различных способов задания URL. Зато многие спаммеры и мошенники прекрасно осведомлены о таких возможностях и порой с успехом избегают собственной авторизации при рассылке писем с недобросовестной рекламой или сомнительными предложениями. Имеет смысл попробовать разобраться в таких способах хотя бы ради защиты собственного покоя.

Как это делается
Давайте разберемся последовательно с каждым способом.
http://3523654789@3474540315/WORLD/

Симовл "@", поставленный среди прочих цифр, означает, что все знаки между "http://" и "@" к выбору конкретно адреса никакого отношения не имеют. Можно поэкспериментировать и попробовать поставить в это место любые знаки:

http://кул-хацкер@www.cnn.com/WORLD/

http://!$^&*()_+`-={}|[]:;@www.cnn.com/WORLD/

Попробуйте пройтись по этим линкам. Будьте уверены, они приведут вас в одно и то же место

Знаки, введенные между "http://" и "@" используются для аутентификации пользователя. Например, если вход на определенный ресурс интернета требует ввода логина и пароля. В этом случае, имя пользователя и пароль разделяются двоеточием, например:

http://username:password@www.whatever.com/members/memberpage.html
В том случае, если вход не требует авторизации пользователя, лишние знаки просто игнорируются сервером.

Такие хитрости дают иногда возможность водить за нос незадачливого пользователя.
Адрес http://www.playboy.com@3474540315/WORLD/ не приведет посетителя на сайт playboy.com. А выглядит URL, согласитесь, с намеком именно на этот ресурс!

Как Сбер построил новую процессинговую платформу на российских СУБД для обслуживания 113 млн клиентов
Как Сбер построил новую процессинговую платформу на российских СУБД для обслуживания 113 млн клиентов ит в банках

Итак, первая часть линка http://3523654789@3474540315/%57O%52L%44/. нам уже понятна.

Но каким образом число 3474540315 может заменить нам адрес http://www.cnn.com/? Тем не менее, это два абсолютно эквивалентных способа записи адреса.

Главное правило, известное большинству сетян : имена адресов в интернете переводятся в номера, называемые IP-адресом (все чаще можно услышать в разговоре термин "айпишник"). Обычно, IP-адрес выглядит как число, разделенное "на разряды" (или на "триады") точками. Например, http://www.cnn.com/ переводится в 207.25.71.29 (и в многие другие IP-адреса).
Числовые IP-адреса, как правило, ничего не могут подсказать пользователю и достаточно трудны в запоминании. Из-за этого мы пользуемся именными идентификаторами.
 

Как найти IP-адрес
IP-адреса, записанные цифрами с разделением на разряды точками, как правило, содержат четыре числовых сегмента. Номера в каждом сегменте находятся в промежутке от 0 до 255.
Перевод сетевого имени в IP-адрес обычно выполняется сетевыми программами, в автоматическом режиме. Получив имя, ваш браузер делает запрос у сервера имен, специальной машины в Сети, которая обрабатывает запрос и отправляет запрос IP-адреса уже в цифровой форме.
Существует множество утилит, с помощью которых можно сделать запрос и получить результат, не прибегая к услугам браузера, в отм числе с графическим интерфейсом для Windows. Одна из них - NSLOOKUP - является одной из самых простых и работает из командной строки в режиме DOS следующим образом:

nslookup [имя или IP-адрес] [имя вашего сервера]

Обязательно нужно указать имя вашего сервера и на выбор - имя или IP-адрес, который интересует. Если вы не знаете адреса своего провайдера (в большинстве случаев - при дозвоне провайдеру по коммутироемой линии статичного адреса и не может быть) мрожно использовать, например, вот такой: 198.41.0.196
Теперь набирем в командной строке:
nslookup www.cnn.com 198.41.0.196
Вот что должно получиться:

C:\>nslookup www.cnn.com 198.41.0.196   <-- Комманда, которую вы набрали
Server:  ns.netsol.com   <-- Имя сервера, который вы выбрали (198.41.0.196)
Address:  198.41.0.196  <-- IP-адрес сервера, с которого делается запрос
Name:    cnn.com    <-- "Настоящее имя www.cnn.com
Addresses:  207.25.71.199, 207.25.71.5, 207.25.71.6, 207.25.71.7
          207.25.71.20, 207.25.71.22, 207.25.71.23, 207.25.71.24, 207.25.71.25
          207.25.71.26, 207.25.71.27, 207.25.71.28, 207.25.71.29, 207.25.71.30    
<-- IP-адреса запрошенного ресурса
Aliases:  www.cnn.com   <-- www.cnn.com - не является именем, первоначально выделенным ресурсу, а лишь один из возможных вариантов.

То же самое можно проделать и с помощью браузера. Просто различные программы используют различные шлюзы для определения имен и IP-адресов.
Таким образом, что бы вы не набрали в адресной строке - http://www.cnn.com/ или http://207.25.71.27 - результат будет один и тот же.

Теперь рассмотрим, каким же образом адреса http://www.cnn.com или http://207.25.71.27 способны превратиться в http://3474540315.

Числовая запись адреса 3474540315 является аналогом 207.25.71.27, записанным в так называемой "dword"-форме, то есть с помощью сдвоенных 16-битных шестнадцатиричных "слов", приведенных к десятичному виду. Существуют варианты использования восьмиричной системы счисления.

Ниже описаны варианты конвертации шестнадцатиричных и восьмиричных чисел и способы их использования.

Способы конвертации и использования различных видов записи
Вот ещё один вариант записи той же самой страницы: http://207.25.71.27/WORLD/
При использовании Internet Explorer все работает нормально, проблемы будут только при попытке использования браузера Netscape версий 3.x. Номера в IP-адресе имеют значения между 0 and 255. Они легко переписываются в двоичные 8-битные числа (из нулей и единичек), максимальное значение которых как раз и составляет 255.

Теперь несколько усложним наш пример. Вот ещё один вариант записи того же URL:
http://3523654789@3474540315/%57O%52L%44/

Вот как это работает:
Каждый символ в URL может быть представлен представленным ему номером в шестнадцатиричной форме. Перед каждым таким символом нужно ставить знак "%" для идентификации последующих за ним двух цифр/букв в качестве шестнадцатиричного представления. На практике такой способ применяется для отображения пробелов и и других неиспользуемых симоволов в URL. Но способ работает и со всеми остальными символами.
В нашем примере интерпретируется выражение "/WORLD/", и вот что получается в результате:

/    %57    O    %52    L    %44   /
/      W       O       R       L       D      /

Буквы в шестнадцатиричной записи могут быть прописными или строчными; косая черта в шестнадцатиричной форме не отображается.
Ниже приведена таблица соответствия символов шестнадцатиричным эквивалентам.


Таблица ASCII символов


Вот таким образом объясняется запись http://3523654789@3474540315/%57O%52L%44/
Кстати, символ @ может быть представлен шестнадцатиричным кодом %40 :
http://3523654789%403474540315/%57O%52L%44/

Продолжение статьи читайте здесь

До 20 марта открыт прием заявок на Конкурс «Импортозамещение в телекоммуникациях» До 20 марта открыт прием заявок на Конкурс «Импортозамещение в телекоммуникациях»

erid: 2W5zFHXcZPo

Рекламодатель: ООО «ФЛАТ-ПРО»

ИНН/ОГРН: 9714013259/1237700428240

Конференция K2 Cloud Conf 2026 Конференция K2 Cloud Conf 2026

erid: 2W5zFJoBN9o

Рекламодатель: АО "К2 ИНТЕГРАЦИЯ"

ИНН/ОГРН: 7701829110/01097746072797