当前位置:首页 > 时尚

cdn绕过

攻击者扫到源站IP的那一刻,CDN就不再是盾牌,而是一块透明的玻璃。

我见过最蠢的绕过方式,是直接去查域名历史解析记录。SecurityTrails上敲个回车,五年前的A记录还躺在那里,运营商没换,机房没迁,IP照样通。有个朋友做众测,目标是个政府站点,CDN套得严严实实,WAF规则密得像蜘蛛网。他花了二十分钟翻历史DNS,找到一个2018年的旧IP,端口扫描发现8080开着个管理后台,密码是admin/admin。就这么进去了。

比这更隐蔽的招数,是从子域名下手。主站老老实实套着Cloudflare,但有些开发图省事,给测试环境配了个test.xxx.com,解析到一台裸奔的阿里云ECS上。你不一定要直接打那台机器——先看看它和主站之间有没有信任关系。比如SSH密钥互通,比如内网DNS区域传送,比如同一个Redis实例没设密码。打穿边缘,再横向摸到核心,CDN自然成了摆设。

还有一类思路,干脆不碰DNS,直接找SSL证书。用Censys或Shodan搜证书指纹,凡是和主站共用过同一张证书的IP,大概率都是源站。我试过一次,目标用了某云厂商的CDN,证书是泛域名。搜出来三十多个IP,逐个用Host头访问,其中两个返回的页面和源站一模一样。其中一个还是香港的BGP机房,延迟低得很,连加速效果都省了。

邮件头也是个漏洞。很多企业自建邮件服务器,发一封邮件给不存在的地址,退信里就带着原始IP。SPF记录有时候也泄露——如果配置里用了include:某个第三方,而那个第三方又没做好隔离,就能顺着摸到真实出口。更别提有些站直接开着mx解析,邮件服务器和Web服务器在同一台机器上,一查一个准。

最让我觉得离谱的,是有人靠GitHub泄露找到了源站。程序员提交代码时不小心把.env文件传了上去,里面写着DB_HOST=,这个内网IP对应的公网地址,往往就是源站。你说CDN防得住这个?防不住。它连攻击者的想象力都防不住。

所以你看,CDN绕过的本质不是技术对抗,而是信息差。你藏得再好,总有某个角落的配置忘了改、某个历史记录没删干净、某个员工的习惯出卖了你。安全不是买了个贵点的锁就完事,而是你得保证每一扇窗户都关严了。可现实是,大多数人只记得锁门,忘了看窗户。

分享到: