IPv6 三个访问本地地址的小Tips

最近发现家里宽带支持IPv6了,这里分享三个利用IPv6访问本地地址(内网地址)的方法。

通常来说,我们用localhost来代表本地地址127.0.0.1。其实在IPv6中有他自己的表示方法ip6-localhost

1558722779473.png

另外,大家应该都知道xip.io这个服务,可以将任何IP地址用域名的形式表示,用来测试SSRF漏洞比较方便。但xip.io只支持IPv4,IPv6下也有个类似的服务,ip6.name。

比如,我们可以通过x.1.ip6.name访问::1,也就是本地:

1558723164108.png

再分享一个Windows下有趣的冷知识吧。

UNC Path是Windows中访问共享资源的方法,前段时间代码审计圈子里还分享过PHP利用UNC、WebDAV来包含远程文件的方法:https://t.zsxq.com/fUjiMfY

而UNC Path是不支持冒号的,所以我们没法在UNC Path中使用IPv6地址:\\[fe80::2]\share。所以微软官方想了一个歪招,他们注册了一个域名ipv6-literal.net,然后在Windows系统中,将IPv6地址中的冒号换成横线作为ipv6-literal.net子域名,如2408-8207-1850-2a60--4c8.ipv6-literal.net

通过这个域名即可访问到对应的IPv6目标:

1558725001686.png

这就类似于微软官方推出的一个ip6.name服务。

但是,有趣的是,这里和ip6.name、xip.io有一个很大的区别,我们访问2408-8207-1850-2a60--4c8.ipv6-literal.net的时候,系统是不会真正发送DNS请求的,这个域名仿佛内置在Windows操作系统中,与生俱来就存在。

所以,你会发现,其实ipv6-literal.net这个域名微软早就已经不续费了(现在的所有者是Godaddy),但我们仍然可以直接在浏览器里通过0--1.ipv6-literal.net来访问到::1,也就是我本地:

1558725256789.png

所以在SSRF等漏洞的测试中,我们不妨利用一下上述三个URL技巧,尝试绕过一些限制。

另外,SSRF测试中,即使目标没有连入IPv6网络,但本地系统、内网通常是支持IPv6的,所以不是说没有IPv6外网IP的目标就不能用IPv6的技巧进行测试。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐