最近在把以前的笔记搬运出来,为什么发这篇冷到家的饭呢,我发现都2023年了,还有人对这个搞不明白。
如果你的队友还不明白,请转发给他
引用一句名人说过的话:
只要别 ping cdn 节点,然后HTTP Hosts⾥放⼀堆IP⽽不⽤域名就⾏,求求了,放过队友吧。
——拉布拉多 · Plogic
网上文章很多,简单说一下,CDN有很多节点(IP),本意为了静态资源加速、访问提速等功能,其原理类似虚拟主机,通过Host来转发配置在CDN后面真正要访问的资源,这就像很多企业配置了Nginx等反代,通过不同的域名、端口来访问内网不同的资源。
所以,简单一句话,CDN节点会通过请求来的Host进行判断要转发到的地址。
已知,CDN通过HOST转发,那么CDN不仅仅为你一个用户提供服务,同时也对很多高信誉域名提供转发服务,如果你是有qq.com的管理权限要配置CDN,那么配置结束后,用户正常访问qq.com,就会分配不同的节点用来加速,所以说qq.com等同于若干个CDN节点。
我们通过CDN厂商校验不严格的问题注册了不属于我们的域名,实质上这个域名在流量中没有任何意义,只是让CDN负责转发的标识,这样我们访问qq.com,但是Host配置为自己的注册域名/标识,CDN就会转发到我们配置的源站,这样就利用qq.com在目标完成了一次白名单出网,目标全程只会看到与qq.com进行通信,这就是域前置的精髓。
比如想要通过白域名cdn.npm.taobao.org来出网,
ping发现其CDN的cname域名为cdn.npm.taobao.org.w.kunlunar.com,使用了阿里云的CDN
假如说v.iwordshow.com(网上找的别人注册的,充当自己注册的测试使用)是我们在CDN厂商注册的域名,想要回源到C2,只需要更改其Host即可访问到v.iwordshow.com,但网络连接层面没有v.iwordshow.com出现,完全是与白域名cdn.npm.taobao.org白域名交互。
如果有设备存在解密https流量能力,对比SNI与Host会发现不一致,这就是域前置的检测点。
如果不知道如何寻找,星球内也有很多资料供参考。
(还是那句话,只要你不是脑瘫儿,应该可以找到很多知识帮助你进步。