预期的DNS查找结果的示例(1):
nslookup google.com Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: Name: google.com Address: 173.194.123.41 Name: google.com Address: 173.194.123.33 ...
我所要求的例子(2)是否有效:
nslookup google.com Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: Name: google.coM Address: 173.194.123.33 Name: google.coM Address: 173.194.123.34 ...
请注意第二个例子中的最后一个字母M. 这是最近与Verizon Fios Quantumnetworking注意到的。
DNS规范是否表示可以接受不同于您所请求的响应? 我知道DNS是不区分大小写的,如果您inputwww.GooGLe.cOM,您将获得与www.google.com相同的IP地址,但我认为在这两种情况下,响应应该/必须匹配查询究竟。
在你的情况下,一个parsing器很可能会在你的请求中join0x20编码 ,而且这种编码被caching,并在本地服务,这违背了惯例:
由于所有的** DNS实现都将请求完全复制到响应中(在实践中) ,因此以混合大小写的方式返回域请求。 客户端可以随机化字符大小写,并比较服务器的响应,该响应应该匹配:
( 第2.2节 )例如,响应者将下列问题名称视为平等,但可以被请求者视为不平等:
www.ietf.org WwW.iEtF.oRg wWw.IeTf.OrG WWW.IETF.ORG
攻击者需要成功猜测随机编码,否则客户端将忽略它。 由于编码的强度与域名的长度有关,更长的域提供更高的安全性 – 更多的字符,更多的熵。
对于一个非0x20实现的客户端(在消除了中间人引入编码的可能性之后),可能是因为编码返回的响应不在原始请求中 – 可能是中毒尝试的结果。