之前在做SSRF漏洞检测时,为了跳过过滤判断,总是拿自己的域名做测试。比如想测试127.0.0.1这个ip,目标网站一般都做了过滤,那么我就用我自己的域名加一个A NAME解析,将local.ranshy.com指向到127.0.0.1,然后攻击网站时候用local.ranshy.com代替127.0.0.1。

问题是,每次需要去域名管理处增加,很复杂。

后来在一篇文章中看到了一个工具,xip.io,很简单但是很强大,直接解决了我的问题。

xip.io是一款网站测试辅助工具,由37signals开发实现,功能就是将***.127.0.0.1.xip.io解析成127.0.0.1。

root [~] ping local.127.0.0.1.xip.io -c1
PING local.127.0.0.1.xip.io (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.019 ms

root [~] ping test1.test2.192.168.0.21.xip.io -c1              
PING test1.test2.192.168.0.21.xip.io (192.168.0.21) 56(84) bytes of data.
64 bytes from 192.168.0.21: icmp_seq=1 ttl=63 time=0.793 ms

除了SSRF场景外,还有很多时候会用到,比如我们在开发WEB项目时候,开发环境经常需要用一些假的域名,通过修改hosts文件实现。比如:

dev.com        192.168.0.3
shop.dev.com   192.168.0.6
api.dev.com    192.168.0.3

但是当我们测试移动端时怎么办,移动端绑定hosts变得复杂,直接通过访问域名也不是很合适,而且可能有多个域名指向同一个ip。这个时候xip.io就可以派上用场了,手机直接访问网址:
dev.192.168.0.3.xip.io
shop.192.168.0.6.xip.io
api.192.168.0.3.xip.io

服务器以apache为例子,只需要修改vhosts即可。

另外,37signals这个公司很有趣,他们是创造简单、专一软件的小团队,有兴趣的可以google了解下。