Bonjorno амигасы =) Сегодня самое подходящее настроение клацать по кнопам во имя великого Uniform Resource Locator широко известного в народе как URL. Казалось бы — УРЛ и УРЛ, дело привычное и банальное… Но это не так! Одно и тоже место можно обозначить довольно большим количеством способов. О практическом применении поговорим позже, а пока теория маскировки УРЛ.

Имя хоста->IP

Первое, и самое простое что напрашивается в голову,
это перевод названия хоста в IP адрес. Возьмём скажем http://www.linux.org и будем над ним
извращаться. Переводим www.linux.org, получаем 198.182.196.56.
Проверяем — идём на http://198.182.196.56/ — работает. Просто, но уже что-то.

IP трансформации

Как известно, IP адрес состоит из четырёх компонентов -> A.B.C.D, где любой из компонентов находится в диапазоне от 0 до 255. То есть минимально возможный адрес 0.0.0.0 и максимально возможный 255.255.255.255. А что если попробовать один из компонентов выставить выше лимита? Берём IP полученный из предыдущей части (198.182.196.56) и к последней части добавляем 256 (56+256=312).. Пробуем — http://198.182.196.312.. Замечательно. Хотя IP на вид отличается от начального, суть его не изменилась. Попробуем добавить 512? http://198.182.196.568 — тоже работает. А вот с 1024 такой вариант не пройдёт. Возможно, это особенность моего
браузера, возможно что-то другое.. Это не так уж и важно.

Вывод — мы можем спокойно добавлять 256 или 512 к любой части IP адреса, суть от этого не меняется. Живой пример тому — http://454.694.708.312/ ведёт всё на тот же многострадальный
www.linux.org.

Системы исчисления

Возьмём первоначальный IP — 198.182.196.56 и переведём его в
шестнадцатеричную систему для удобства. 
198 -> c6
182 -> b6
196 -> c4
56 -> 38

Получили c6b6c438? Неа. Неправильно. Забыли синтаксис
шестнадцатеричного числа — добавка 0x перед самим числом. 0xc6b6c438 — теперь правильно. Да да — 0xc6b6c438 это тоже IP адрес. Вот только если у вас IE 5.x, то http://0xc6b6c438/ можно смело не пробовать — работать не будет. Зато можно запустить калькулятор, и перевести полное число обратно в
десятеричную систему исчисления. Переводим 0xc6b6c438, получаем 3333866552. Идём на http://3333866552/ — правда приятно?

Можно попробовать в двоичной системе, но так как синтаксис двоичных чисел — 0b префикс, то такая фишка как http://0b110001101011011011000100111000/ работать не будет. Владельцы других
браузеров могут
поэкспериментировать, ибо в принципе это вполне нормальный IP адрес.

Зато на размышления наводит восьмеричная система исчисления, её синтаксис — префикс 0. Никаких букв. Стоит попробовать? Думаю стоит. Переводим c6b6c438 в
восьмеричную, получаем 30655542070, добавляем спереди 0. http://030655542070/ — работает? 

Смещение

Вернёмся к нашим баранам… То есть к шестнадцатеричному
представлению IP (c6b6c438). Попробуем добавить к нему несколько не значащих знаков, например 01. Получаем 01c6b6c438, и переводим в
десятеричную — http://7628833848/ тоже работает. Принцип тот же, что в части 2.

Маскировка

И так у нас есть коротенький URL ведущий в нужное нам место — http://3333866552/ Красиво, но можно ещё красивее. Давайте попробуем http://www.microsoft.com@3333866552/ — куда попали? Дядя Билл на один хит сегодня обломался, потому что попали мы на всё тот же многострадальный www.linux.org.

Суть заключается в том, что перед знаком @ может стоять практически всё что угодно, настоящий URL находится ПОСЛЕ знака @.. Впрочем вы наверное уже сообразили что к чему.

Unicode

Unicode, unicode — как много в этом слове… У людей неискушенных частенько возникает вопрос: «А что это за непонятные циферки и знаки % во многочисленных статьях о IIS атаках?».. Так как это имеет отношение к сокрытию URLов то придётся
объяснить.

Дело в том, что не все символы по определению можно
использовать в URL, но иногда очень нужно — вот тут и приходит на помощь Unicode. Формат Unicode состоит из трёх символов — %XX, где знак процентов обозначает начало Unicode символа, а XX любое
шестнадцатеричное число.

Возьмём к примеру — http://www.linux.org/apps/index.html, и заменим apps на Unicode.

Код a -> 61
p -> 70
s -> 73

Соответственно имеем — http://www.linux.org/%61%70%70%73/index.html… Также можно замаскировать index.html, только вот лень мне чего-то, сами разберётесь, что к чему.

В написании статьи мне помогал кот — его изображение находится по адресу
http://malfunction.n3.net/cat.htm

Вот в общем и всё..

Оставить мнение

Check Also

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …