Чому зареєстроване доменне ім’я "localtest.me" дорівнює 127.0.0.1?


30

Я читав статтю про підробку запиту на стороні сервера . У цій статті зловмисник виявив, що 127.0.0.1це відкрито для Інтернету. Потім жертву заблокували 127.0.0.1, але через те, що багато інших IP-адрес і, мабуть, також деякі домени також вирішені для цього, включаючи таємничий localtest.me, він зміг обійти слабкий текстовий фільтр.

  1. Що ж такого особливого localtest.me?

  2. Є інші? (І як їх знайти?)


ОНОВЛЕННЯ

Я знайшов: 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

І в подібних питаннях про Stack Overflow.


22
Це дуже просто: Реєстрація доменного імені та призначення IP-адреси - це дві різні речі. Будь-хто може зареєструвати будь-яке доменне ім’я з будь-якої причини. Потрібно просто сплатити реєстратор домену, пройшовши віртуальну "паперову документацію", і тоді, як магія, у вас є доменне ім'я. Але присвоєння IP-адреси цьому домену - це зовсім інший звір. Будь-хто може призначити будь-яку IP-адресу доменному імені. Ім’я домену - це просто вказівник, який полегшує життя.
JakeGould

Одне з таких доменних імен, яке пов'язане з доволі деяким занепокоєнням сили останнім часом,bealocalhost.de
Хаген фон Ейтцен

Відповіді:


69

Однак я все ще не впевнений, як можна зареєструвати зовнішній домен до локального. Це заплутано, оскільки tracert localtest.me ніколи навіть не залишає апарат. Як це вирішується на низькому рівні?

Немає нічого, що "прив'язує" домен до його адреси так, як ви собі уявляєте. Подібно до телефонної книги, DNS просто повідомляє вам, що таке адреса - але на цьому її участь закінчується. (Ви не набираєте "Піцу хату" по телефону; ви шукаєте їх номер телефону і набираєте номер.)

Отже, коли хтось реєструє доменне ім’я, він просто отримує можливість редагувати записи цих книжок. Але щоб насправді "вказати" доменне ім'я десь - скажімо, 127.0.0.1- вони додають цей рядок до своєї бази даних:

localtest.me.   A   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 і використовується на практиці у багатьох мережах.


4
Дякую хлопцям за уточнення. Це, безумовно, була цікавою знахідкою, оскільки я не мав уявлення, що можна також зареєструвати зарезервовані блоки IP .
not2qubit

11
Так. Справа в тому, щоб DNS не застосовував способи використання адрес.
grawity

2
@ not2qubit "... Я не мав уявлення, що можна також зареєструвати зарезервовані блоки IP". Ви змішуєте терміни. Вам потрібно зареєструвати доменне ім’я у реєстратора; це керований процес. Ви присвоюєте IP-адресу доменному імені; це некерований процес. Будь-яка купа номерів може бути призначена будь-якому зареєстрованому доменному імені, якщо ви керуєте доменним іменем.
JakeGould

"Ви не набираєте" Піцу хату "по телефону; ви шукаєте їх номер телефону і набираєте номер." Приємна аналогія!
Джошуа Пінтер

1
Справді, той, який, ймовірно, не протримається довго, а замість цього Siri / Alexa / Google замовляє піцу для вас ...
grawity

16

Є й інші відповіді, які заглиблюються в більш детальні деталі, але ядро ​​цього питання дуже просто відповісти:

"Однак я все ще не впевнений, як можна зареєструвати зовнішній домен до локального."

Реєстрація доменного імені та призначення IP-адреси - це дві абсолютно різні та незалежні речі.

Будь-хто може зареєструвати будь-яке доменне ім’я з будь-якої причини; Ви навіть можете зареєструвати доменне ім’я, не маючи назви IP-адреси призначення. Треба просто заплатити реєстратору домену, пройшовши віртуальну "паперову документацію", і тоді, як магія, у вас є доменне ім'я. Все, за що ви платите при реєстрації доменного імені, - це саме ім'я домену, а також можливість (читайте нижче) - призначити IP-адресу доменному імені.

Але присвоєння IP-адреси цьому доменному імені - це зовсім інший процес. Будь-хто може призначити будь-яку IP-адресу доменному імені, якщо він має контроль над цим доменним іменем. Реєстратор доменних імен не піклується про те, яку групу необроблених адрес ви присвоюєте доменному імені.

Все доменне ім'я - це просто вказівник, який полегшує життя. Розглядайте це як псевдонім, щоб людям не потрібно запам'ятовувати купу чисел (IPv4) або цифр і букв (IPv6).

Це воно!

Але те, що трапилося - як пояснюється на цій сторінці, яку ви відвідали - це не «злом» кожної системи за місцевою світовою адресою «127.0.0.1», а скоріше недолік тієї самої конкретної системи.

Але для подальшого уточнення цього - і це спонукало мене до того, як ви це також написали - коли ви заявляєте:

Я читав статтю про підробку запиту на стороні сервера . У цій статті зловмисник виявив, що 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потрапляв в Інтернет, а в тому, що неохайне кодування на одному інструменті на одному веб-сайті дозволило це зробити.


8

Що таке особливе у localtest.me ?

Він вказує на 127.0.0.1 (localhost). Ця адреса завжди зарезервована для локального комп'ютера.

Є інші? (І як їх знайти?)

Так. Google і Super User - це ваші друзі (як ви дізналися).

Я досі не впевнений, як можна зареєструвати зовнішній домен до локального [IP]. Це заплутано, оскільки tracert localtest.meніколи навіть не залишає машини. Як це вирішується на низькому рівні?

Вам не вистачає початкового (зовнішнього) запиту DNS . tracertвідображає шлях, який проходить пакет, але перш ніж пакет може перейти куди завгодно, комп'ютер повинен знати IP-адресу, на яку він буде відправлений. З застереженнями, якщо ви ніколи раніше не відвідували locatest.me , до зовнішніх резолюторів надсилається запит DNS, щоб виявити, що він відображає 127.0.0.1. Потім повернуті дані використовуються локально (наприклад, для tracertвідображення веб-вмісту). І пам’ятайте, що DNS може зіставити будь-яке ім’я хоста на будь-який IP - він не "знає", чи IP локальний чи ні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.