为什么注册域名“ 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

在关于堆栈溢出的类似 问题中


22
这真的很简单:注册域名和分配IP地址是两件事。任何人都可以出于任何原因注册任何域名。您只需支付域名注册商的费用,通过虚拟的“文书工作”,然后像魔术一样拥有一个域名。但是,将IP地址分配给该域却是另一回事。任何人都可以将任何IP地址分配给域名。域名只是使生活更轻松的指针。
JakeGould '17

一种与最近的一些力量干扰相关的域名是bealocalhost.de
Hagen von Eitzen

Answers:


69

但是,我仍然不确定如何将外部域注册到本地域。由于Tracert localtest.me甚至从未离开过计算机,这令人困惑。在低层如何处理?

没有什么可以像您想象的那样将域“绑定”到其地址。就像电话簿一样,DNS仅告诉您地址是什么 -但这就是结束地址的地方。(您无需在电话上拨打“ Pizza Hut”;您可以查询他们的电话号码,然后拨打该号码。)

因此,当某人注册域名时,他们仅具有编辑那些电话簿记录的功能。但是要实际“指向”某个域名(比如说),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

“您不拨打电话上的“ Pizza Hut”;您查找他们的电话号码,然后拨打该号码。” 好比喻!
约书亚·品特

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公开给Internet时。而是,该工具本身具有一个缺陷,该缺陷使任何人都可以使用来探查运行该工具的内部服务器127.0.0.1。而且,由于该工具明确地是一种用于检测开放端口的黑客工具,因此,通过使用127.0.0.1该特定应用程序,可以探测自己的本地主机网络,并在此处输入关键信息,从而将该信息传达给仅通过Web浏览器访问该工具的人。

所带来的风险是不是每一个127.0.0.1被暴露在互联网上,而是草率的编码上的一个工具,一个站点允许这种情况发生。


8

localtest.me有什么特别之处?

它指向127.0.0.1(localhost)。此地址始终为本地计算机保留。

还有其他吗?(以及如何找到它们?)

是。Google和超级用户是您的朋友(如您所知)。

我仍然不确定如何将外部域注册到本地[IP]。这是令人困惑的,因为tracert localtest.me永不离开机器。在低层如何处理?

您缺少初始(外部)DNS请求。tracert显示数据包所经过的路径,但是在数据包可以到达任何地方之前,计算机必须知道将其发送到的IP。使用警告,如果您以前从未访问过locatest.me,则会向外部解析器发出DNS请求,以发现它映射到127.0.0.1。然后将返回的数据在本地使用(例如用于tracert或显示Web内容)。请记住,DNS可以将任何主机名映射到任何IP-它不会“知道” IP是否为本地。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.