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

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии