Ich habe einen Artikel über Server-Side Request Forgery gelesen . In diesem Artikel stellte der Angreifer fest, dass 127.0.0.1
das Internet offen war. Das Opfer blockierte daraufhin 127.0.0.1
, aber da auch viele andere IPs und anscheinend auch einige Domains dahingehend aufgelöst sind, unter anderem das Rätselhafte localtest.me
, gelang es ihm, einen schwachen textbasierten Filter zu umgehen.
Was ist das Besondere daran
localtest.me
?Gibt es noch andere (Und wie findet man sie?)
AKTUALISIEREN
Ich fand: http://readme.localtest.me/
Anscheinend hat sich jemand dazu entschlossen, diese Domain zu Testzwecken auf witzige Weise zu registrieren:
So funktioniert das. Der gesamte Domainname localtest.me - und alle Platzhaltereinträge - zeigen auf 127.0.0.1. Ohne Änderungen an Ihrer Hostdatei können Sie 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 man tracert localtest.me
die Maschine niemals verlässt. Wie wird das auf niedrigem Niveau gehandhabt?
Ich habe dann in diesen Kommentaren und anderswo noch einige gefunden :
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
Antworten:
Es gibt nichts, was die Domain so an ihre Adresse "bindet", wie Sie es sich vorstellen. Wie in einem Telefonbuch gibt DNS lediglich an, um welche Adresse es sich handelt. Hier endet jedoch die Beteiligung. (Sie wählen nicht "Pizza Hut" am Telefon; Sie suchen die Telefonnummer und wählen die Nummer.)
Also, wenn jemand einen Domain - Namen registriert, gewinnen sie nur die Möglichkeit , diese Telefonbucheinträge zu bearbeiten. Aber um einen Domainnamen tatsächlich irgendwo zu "verweisen" - sagen wir mal
127.0.0.1
- fügen sie diese Zeile zu ihrer Datenbank hinzu:Das ist es. Wer
localtest.me
jetzt nachfragt, bekommt die Antwort "Oh, es ist bei127.0.0.1
."Wenn Sie also etwas eingeben
tracert localtest.me.
, fragt es zuerst DNS nach der zugeordneten Adresse. bekommt die Antwort 127.0.0.1; und dann verhält sich genau so, als ob dutracert 127.0.0.1
stattdessen gelaufen wärst . Überhaupt keine Magie.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. Da DNS-Daten auf viele Systeme verteilt sind (manchmal sogar dynamisch generiert), können Sie sie nicht alle finden oder erwarten, dass Ihre Ergebnisse bereits nach wenigen Sekunden genau sind.
Aber aus Sicherheitsgründen, nicht wahr brauchen sie alle zu finden. Einige DNS-Resolver haben tatsächlich bereits eine Art Filter für solche Einträge (so genannter "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, können Sie dies nicht global verbieten. Das Verweisen von Domainnamen auf private Adressen ist immer noch eine absolut legitime Verwendung von DNS und wird in der Praxis in vielen Netzwerken verwendet.
quelle
Es gibt andere Antworten, die detaillierter sind, aber der Kern dieser Frage ist wirklich einfach zu beantworten:
Das Registrieren eines Domainnamens und das Zuweisen einer IP-Adresse sind zwei völlig unterschiedliche und unabhängige Dinge.
Jeder kann jeden Domainnamen aus jedem 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.
Das Zuweisen einer IP-Adresse zu diesem Domainnamen ist jedoch ein ganz anderer Vorgang. Jeder kann einem Domainnamen eine beliebige IP-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 es sich 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 diesen Artikel auch gelesen und Folgendes ist passiert: Jemand benutzte ein Online-Tool, mit dem Sie dieses Tool auf eine beliebige IP-Adresse / einen Hostnamen verweisen konnten. Als sie dieses Tool darauf zeigten,
127.0.0.1
war es nicht so, dass die IP-Adresse127.0.0.1
dem Internet zugänglich war. Vielmehr hatte das Tool selbst einen Fehler, der es jedem ermöglichte, den internen Server, auf dem das Tool ausgeführt wurde, mithilfe von zu untersuchen127.0.0.1
. Und da es sich bei diesem Tool explizit um ein Hacking-Tool handelt, das zum Erkennen offener Ports und dergleichen verwendet wurde, konnte mithilfe127.0.0.1
dieser speziellen Anwendung das eigene Localhost-Netzwerk überprüft und - hier als Schlüssel - diese Informationen über einen Webbrowser an jemanden übermittelt werden, der auf das Tool zugreift .Das Risiko bestand nicht darin, dass jeder
127.0.0.1
mit dem Internet in Berührung kam, sondern vielmehr darin, dass dies durch eine fehlerhafte Codierung auf einem Tool auf einer Website geschehen konnte.quelle
Es zeigt auf 127.0.0.1 (localhost). Diese Adresse ist immer für den lokalen Computer reserviert.
Ja. Google und Super User sind Ihre Freunde (wie Sie herausfanden).
Sie vermissen die erste (externe) DNS- Anfrage.
tracert
zeigt den Pfad an, den ein Paket nimmt, aber bevor ein Paket irgendwo hingelangen kann, muss der Computer die IP kennen, an die es gesendet werden soll. Falls Sie locatest.me noch nie zuvor besucht haben , wird eine DNS-Anfrage 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. zumtracert
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.quelle