it-swarm.com.de

Warum wird der registrierte Domainname "localtest.me" in 127.0.0.1 aufgelöst?

Ich habe einen Artikel über Server-Side Request Forgery gelesen. In diesem Artikel stellte der Angreifer fest, dass 127.0.0.1 für das Internet offen war. Das Opfer hat dann 127.0.0.1 gesperrt, aber da viele andere IPs und anscheinend auch einige Domains dazu aufgelöst sind, darunter auch der mysteriöse localtest.me, konnte er einen schwachen textbasierten Filter umgehen.

  1. Was ist das Besondere an localtest.me?

  2. Gibt es noch andere? (Und wie findet man sie?)


UPDATE

Ich habe gefunden: http://readme.localtest.me/

Anscheinend hat sich jemand dazu entschlossen, diese Domain zu Testzwecken auf lustige Weise zu registrieren:

So funktioniert das. Der gesamte Domainname localtest.me - und alle Platzhaltereinträge - zeigen auf 127.0.0.1. Sie können also ohne Änderungen an Ihrer Host-Datei sofort mit dem Testen mit einer lokalen URL beginnen.

Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain für eine lokale Domain registrieren können. Dies ist verwirrend, da ein tracert localtest.me niemals die Maschine verlässt. Wie wird das auf dem niedrigen Niveau gehandhabt?

Ich fand dann mehrere weitere in diesen Kommentaren und anderswo:

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

Und in ähnlichenFragen zum Stapelüberlauf.

28
not2qubit

Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain für eine lokale Domain registrieren können. Dies ist verwirrend, da ich als tracert localtest nicht einmal die Maschine verlasse. Wie wird das auf dem niedrigen Niveau gehandhabt?

Es gibt nichts, was die Domain so an ihre Adresse "bindet", wie Sie es sich vorstellen. Wie in einem Telefonbuch teilt DNS Ihnen lediglich mit, wie die Adresse lautet - hier endet jedoch die Beteiligung. (Sie wählen nicht "Pizza Hut" am Telefon; Sie suchen ihre Telefonnummer und wählen die Nummer.)

Wenn also jemand einen Domainnamen registriert, erhält er nur die Fähigkeit , diese Telefonbucheinträge zu bearbeiten. Aber um tatsächlich irgendwo auf einen Domainnamen zu "zeigen" - sagen wir mal zu 127.0.0.1 - fügen sie diese Zeile zu ihrer Datenbank hinzu:

localtest.me.   A   127.0.0.1

Das ist es. Wer nach localtest.me fragt, bekommt jetzt die Antwort "Oh, es ist bei 127.0.0.1."

Wenn Sie also tracert localtest.me. eingeben, wird zuerst DNS nach der zugeordneten Adresse gefragt. bekommt die Antwort 127.0.0.1; und verhält sich dann genau so, als hättest du stattdessen tracert 127.0.0.1 ausgeführt. Überhaupt keine Magie.

Gibt es noch andere (Und wie findet man sie?)

An dieser Stelle sollte klar sein, dass jeder Domaininhaber dies ohne großen Aufwand tun kann. Daher besteht immer die Wahrscheinlichkeit, dass zu einem bestimmten Zeitpunkt andere solcher Domains existieren. Aufgrund der Verteilung von DNS-Daten auf viele Systeme (manchmal sogar dynamisch generiert) können Sie nicht alle finden oder sogar erwarten, dass Ihre Ergebnisse nach nur wenigen Sekunden genau bleiben.

Aus Sicherheitsgründen brauchen Sie jedoch nicht , um alle zu finden. Einige DNS-Resolver verfügen bereits über eine Art Filter für solche Einträge ("DNS-Rebinding-Schutz") und suchen nicht nach bestimmten Fragen, sondern nur nach der Antwort . Die Schutzfunktion blockiert nur Antworten, die auf eine lokale Adresse verweisen.

Bevor Sie jedoch nachfragen, kann dies nicht global verboten werden. Das Zeigen von Domain-Namen auf private Adressen ist immer noch eine absolut legitime Verwendung von DNS und wird in der Praxis in vielen Netzwerken verwendet.

68
grawity

Es gibt andere Antworten, die detaillierter sind, aber der Kern dieser Frage ist wirklich einfach zu beantworten:

"Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain für eine lokale Domain registrieren können."

Das Registrieren eines Domainnamens und das Zuweisen einer IP-Adresse sind zwei völlig unterschiedliche und unabhängige Dinge.

JederkannjedenDomainnamen aus irgendeinem Grund registrieren; Sie können sogar einen Domainnamen registrieren, ohne eine Ziel-IP-Adresse zu haben. Man muss nur den Domain-Registrar bezahlen, die virtuellen "Papiere" durchgehen und dann, wie von Zauberhand, einen Domain-Namen haben. Alles, wofür Sie bei der Registrierung eines Domainnamens bezahlen, ist der Domainname selbst sowie die unten beschriebene Möglichkeit, einem Domainnamen eine IP-Adresse zuzuweisen.

Aber dann istdas Zuweisen einer IP-Adressezu diesem Domainnamen ein ganz anderer Vorgang.Jederkann einem Domainnamen einebeliebigeIP-Adresse zuweisen, wenn er die Kontrolle über diesen Domainnamen hat. Der Registrar für Domain-Namen kümmert sich nicht darum, welchen Stapel unformatierter Adressen Sie einem Domain-Namen zuweisen.

Ein Domainname ist lediglich ein Hinweis, der das Leben leichter macht. Stellen Sie sich das als Alias ​​vor, damit sich die Benutzer keine Zahlenstapel (IPv4) oder Zahlen und Buchstaben (IPv6) merken müssen.

Das ist es!

Aber was passiert ist - wie auf der von Ihnen besuchten Seite erklärt -, war nicht ein "Hack" jedes Systems in der lokalen "127.0.0.1" -Adresse der Welt, sondern ein Fehler in diesem einen bestimmten System.

Aber um dies näher zu erläutern - und das hat mich auf die Art und Weise, wie Sie es formuliert haben, in die Irre geführt -, wenn Sie Folgendes angeben:

Ich habe einen Artikel überServer-Side Request Forgerygelesen. In diesem Artikel stellte der Angreifer fest, dass 127.0.0.1 für das Internet geöffnet war.

Ich habe auch diesen Artikel gelesen , und das ist passiert: Jemand benutzte ein Online-Tool, mit dem Sie dieses Tool auf eine beliebige IP-Adresse/einen beliebigen Hostnamen verweisen konnten . Als sie dieses Tool auf 127.0.0.1 zeigten, war die IP-Adresse 127.0.0.1 nicht für das Internet verfügbar. Vielmehr hatte das Tool selbst einen Fehler, der es jedem ermöglichte, den internen Server, auf dem das Tool ausgeführt wurde, mithilfe von 127.0.0.1 zu untersuchen. Und da dieses Tool ausdrücklich ein Hacking-Tool war, das zum Erkennen offener Ports und dergleichen verwendet wurde, konnte diese bestimmte Anwendung mithilfe von 127.0.0.1das eigenelocalhost-Netzwerk prüfen und - hier Schlüssel - diese Informationen übermitteln an jemanden, der über einen Webbrowser auf das Tool zugreift.

Das Risiko bestand nicht darin, dass jeder 127.0.0.1 dem Internet ausgesetzt war, sondern vielmehr darin, dass die fehlerhafte Codierung aufeinem Toolaufeiner Sitedies zuließ.

16
JakeGould

Was ist das Besondere an localtest.me ?

Es zeigt auf 127.0.0.1 (localhost). Diese Adresse ist immer für den lokalen Computer reserviert.

Gibt es noch andere (Und wie findet man sie?)

Ja. Google und Super User sind Ihre Freunde (wie Sie herausgefunden haben).

Ich bin mir immer noch nicht sicher, wie Sie eine externe Domain bei einer lokalen [IP] registrieren können. Dies ist verwirrend, da ein tracert localtest.me niemals die Maschine verlässt. Wie wird das auf dem niedrigen Niveau gehandhabt?

Ihnen fehlt die erste (externe) DNS Anforderung. tracert zeigt den Pfad an, den ein Paket nimmt, aber bevor ein Paket irgendwo hingehen kann, muss der Computer die IP kennen, an die es gesendet werden soll. Wenn Sie locatest.me noch nie zuvor besucht haben, wird eine DNS-Anforderung an externe Resolver gesendet, um festzustellen, dass die Zuordnung zu 127.0.0.1 erfolgt. Die zurückgegebenen Daten werden dann lokal verwendet (z. B. für tracert oder zum Anzeigen von Webinhalten). Und denken Sie daran, dass DNS jeden Hostnamen einer beliebigen IP zuordnen kann - es "weiß" nicht, ob eine IP lokal ist oder nicht.

8
Anaksunaman