Я читал статью о подделке запросов на стороне сервера . В той статье злоумышленник обнаружил, что 127.0.0.1
открыт для интернета. Затем жертва заблокировалась 127.0.0.1
, но поскольку многие другие IP-адреса и, по-видимому, также некоторые домены также были настроены на это, включая таинственный localtest.me
, он смог обойти слабый текстовый фильтр.
Что такого особенного
localtest.me
?Есть ли другие? (А как их найти?)
ОБНОВИТЬ
Я нашел: http://readme.localtest.me/
Видимо, кто-то решил забавно зарегистрировать этот домен для тестирования:
Вот как это работает. Полное доменное имя localtest.me и все подстановочные знаки указывают на 127.0.0.1. Таким образом, без каких-либо изменений в вашем хост-файле вы можете немедленно начать тестирование с локальным URL.
Тем не менее, я все еще не уверен, как вы можете зарегистрировать внешний домен на локальный. Это сбивает с толку, так как tracert localtest.me
никогда не покидает машину. Как это обрабатывается на низком уровне?
Затем я нашел еще несколько в этих комментариях и в других местах:
lvh.me
vcap.me
fuf.me - IPv4 and IPv6
ulh.us
127-0-0-1.org.uk
ratchetlocal.com
smackaho.st
42foo.com
beweb.com
yoogle.com
ortkut.com
feacebook.com
bealocalhost.de
Ответы:
Нет ничего, что «привязывало бы» домен к его адресу так, как вы себе представляете. DNS, как и телефонная книга, просто сообщает вам, что это за адрес, но на этом его участие заканчивается. (Вы не набираете «Pizza Hut» на телефоне; вы ищите их номер и набираете номер.)
Поэтому, когда кто-то регистрирует доменное имя, он просто получает возможность редактировать записи телефонной книги. Но чтобы на самом деле «указать» имя домена где-нибудь - скажем так
127.0.0.1
- они добавляют эту строку в его базу данных:Вот и все. Тот, кто спрашивает
localtest.me
сейчас, получает ответ "О, это в127.0.0.1
".Поэтому, когда вы печатаете
tracert localtest.me.
, он сначала спрашивает DNS о связанном адресе; получает ответ 127.0.0.1; а затем ведет себя точно так же, как если бы вы бежалиtracert 127.0.0.1
вместо этого. Никакой магии.На этом этапе должно быть ясно, что любой владелец домена может сделать это вообще без каких-либо усилий, поэтому всегда существует вероятность того, что другие такие домены существуют в любой момент времени. Из-за того, что данные DNS распределяются по многим системам (иногда даже динамически генерируемым), вы действительно не можете найти их все или даже ожидать, что ваши результаты останутся точными через несколько секунд.
Но в целях безопасности вам не нужно искать их все. Некоторые распознаватели DNS на самом деле уже имеют своего рода фильтрацию для таких записей (называемую «защита повторного связывания DNS»), и они не ищут конкретные вопросы - они только смотрят на ответ . Функция защиты просто блокирует ответы, которые указывают на любой локальный адрес.
Однако, прежде чем вы спросите, это нельзя запретить глобально - указание доменных имен на частные адреса все еще является совершенно законным использованием DNS и используется на практике во многих сетях.
источник
Есть и другие ответы, которые углубляются в детали, но суть этого вопроса очень проста:
Регистрация доменного имени и назначение IP-адреса - это две совершенно разные и независимые вещи.
Любой может зарегистрировать любое доменное имя по любой причине; Вы даже можете зарегистрировать доменное имя без указания IP-адреса назначения. Нужно просто заплатить регистратору домена, пройдя через виртуальную «бумажную работу», и тогда, как по волшебству, у вас есть доменное имя. Все, за что вы платите при регистрации доменного имени, - это само имя домена, а также возможность - см. Ниже - назначить IP-адрес для имени домена.
Но тогда присвоение IP-адреса этому доменному имени - это совсем другой процесс. Любой может назначить любой IP-адрес доменному имени, если у него есть контроль над этим доменным именем. Регистратор доменных имен не заботится и не заботится о том, какую кучу необработанных адресов вы назначаете доменному имени.
Все доменное имя - это просто указатель, который облегчает жизнь. Думайте об этом как о псевдониме, чтобы людям не приходилось запоминать стопки цифр (IPv4) или цифр и букв (IPv6).
Это оно!
Но то, что произошло - как объясняется на той странице, которую вы посетили, - было не «взломом» каждой системы с локальным адресом «127.0.0.1» в мире, а скорее недостатком этой конкретной системы.
Но для дальнейшего разъяснения этого - и это сбило меня с толку так, как вы это сформулировали, - когда вы заявляете:
Я также прочитал эту статью , и вот что произошло: кто-то использовал онлайн-инструмент, который позволял вам указывать этот инструмент на любой IP-адрес / имя хоста. Когда они указали на это средство
127.0.0.1
, IP-адрес не127.0.0.1
был доступен для Интернета. Скорее, у самого инструмента был недостаток, который позволял кому-либо проверять внутренний сервер, на котором он работал, с помощью127.0.0.1
. И поскольку этот инструмент был явно хакерским инструментом, который использовался для обнаружения открытых портов и т. Д., С помощью127.0.0.1
этого конкретного приложения он смог исследовать свою собственную локальную сеть и - здесь ключ - передать эту информацию кому-то, получающему доступ к инструменту, через веб-браузер. ,Риск заключался не в том, что каждый
127.0.0.1
был подвержен Интернету, а в том, что небрежное кодирование на одном инструменте на одном сайте позволило этому случиться.источник
Это указывает на 127.0.0.1 (localhost). Этот адрес всегда зарезервирован для локального компьютера.
Да. Google и Super User - ваши друзья (как вы узнали).
Вы пропускаете начальный (внешний) запрос DNS .
tracert
отображает путь, по которому проходит пакет, но перед тем, как пакет может отправиться куда-либо, компьютер должен знать IP-адрес для отправки. С предостережениями, если вы никогда не посещали locatest.me прежде, внешний DNS-запрос отправляется запрос на обнаружение, что он соответствует 127.0.0.1. Возвращенные данные затем используются локально (например, дляtracert
отображения веб-контента). И помните, что DNS может сопоставить любое имя хоста любому IP - он не «знает», является ли IP локальным или нет.источник