not*_*bit 33 networking dns domain ip localhost
我正在阅读一篇关于Server-Side Request Forgery的文章。在那篇文章中,攻击者发现它对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
Run Code Online (Sandbox Code Playgroud)
use*_*686 69
但是,我仍然不确定如何将外部域注册到本地域。这令人困惑,因为 tracert localtest.me 甚至从未离开机器。这在低层是如何处理的?
没有什么可以按照您想象的方式将域“绑定”到其地址。就像电话簿一样,DNS 只是告诉您地址是什么——但它的参与也就到此为止了。(您不用在电话上拨打“必胜客”;您查找他们的电话号码,然后拨打该号码。)
因此,当有人注册域名时,他们只是获得了编辑这些电话簿记录的能力。但要真正将域名“指向”某个地方——让我们说127.0.0.1——他们将这一行添加到其数据库中:
localtest.me. A 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
就是这样。谁问localtest.me现在都会得到答案“哦,它在127.0.0.1。”
因此,当您键入 时tracert localtest.me.,它首先向 DNS 询问关联的地址;得到答案 127.0.0.1;然后表现得就像你跑了一样tracert 127.0.0.1。根本没有魔法。
还有其他人吗?(以及如何找到它们?)
在这一点上应该很清楚,任何域所有者都可以毫不费力地做到这一点,因此在任何给定时间总是存在其他此类域的可能性。由于 DNS 数据分布在许多系统中(有时甚至是动态生成的),您确实无法找到所有这些数据,甚至无法期望您的结果在几秒钟后仍保持准确。
但出于安全目的,您无需全部找到它们。一些 DNS 解析器实际上已经对此类条目进行了某种过滤(称为“DNS 重新绑定保护”),并且它们不寻找特定问题 – 它们只查看答案。保护功能只是阻止指向任何本地地址的答案。
然而,在你问之前,这不能在全球范围内被禁止——将域名指向私有地址仍然是 DNS 的一种完全合法的使用,并且在许多网络中被实际使用。
Gia*_*968 16
还有其他更深入的答案,但这个问题的核心很容易回答:
“但是,我仍然不确定如何将外部域注册到本地域。”
任何人都可以以任何理由注册任何域名;您甚至可以在没有目标 IP 地址的情况下注册域名。一个人必须简单地向域名注册商付款,通过虚拟“文书工作”,然后就像魔术一样,您拥有一个域名。注册域名时,您只需支付域名本身以及为域名分配 IP 地址的能力(请阅读下文)。
但是,为该域名分配 IP 地址是一个完全不同的过程。如果任何人都可以控制该域名,则任何人都可以将任何IP 地址分配给该域名。域名注册商不关心或关心您分配给域名的原始地址堆。
域名只是一个让生活更轻松的指针。将其视为别名,因此人们不必记住成堆的数字 (IPv4) 或数字和字母 (IPv6)。
就是这样!
但是,为了进一步澄清这一点——这也让我对你的措辞感到困惑——当你说:
我正在阅读一篇关于Server-Side Request Forgery的文章。在那篇文章中,攻击者发现 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都暴露在 Internet 上,而是一个站点上的一个工具上的草率编码允许这种情况发生。
localtest.me 有什么特别之处?
它指向127.0.0.1(本地主机)。此地址始终为本地计算机保留。
还有其他人吗?(以及如何找到它们?)
是的。Google 和超级用户是您的朋友(如您所见)。
我仍然不确定如何将外部域注册到本地 [IP]。这是令人困惑的,因为它
tracert localtest.me甚至从未离开过机器。这在低层是如何处理的?
您缺少初始(外部)DNS请求。tracert显示数据包采用的路径,但在数据包到达任何地方之前,计算机必须知道要将其发送到的 IP。需要注意的是,如果您以前从未访问过locatest.me,则会向外部解析器发出 DNS 请求,以发现它映射到 127.0.0.1。然后在本地使用返回的数据(例如用于tracert或显示网络内容)。请记住,DNS 可以将任何主机名映射到任何 IP——它不“知道”IP 是否是本地的。
| 归档时间: |
|
| 查看次数: |
9809 次 |
| 最近记录: |