CDN绕过
CDN绕过
问题:
1.cdn是怎么控制DNS服务解析域名时是解析到CDN节点Ip而不是服务器IP
上网搜了搜:用户输入域名,先是在本地DNS服务器解析,如果域名有CDN服务,本地DNS服务器就会把域名给CDN的DNS服务器解析,CDN的DNS服务器会选择距离用户最近的CDN节点的IP作为域名解析结果
CDN介绍
CDN是一个用于加快网站访问速度同时可以一定程度上保护服务器(比如CDN可以影藏服务器IP,还可以当WAF用,过滤掉一些恶意请求、数据)的技术
当用户访问网站,有CDN的源网站会从离用户最近的CDN节点返回响应数据,这些CDN节点缓存有网站部分内容,如果请求的数据CDN节点有则直接返回响应(这里CDN和源服务器应该是有日志的同步,这样源服务器在这种情况也可以知道访问记录),如果没有就请求源服务器,再把源服务器返回的内容给客户端。
这里的CDN节点就像一个反向代理,可以过滤一些恶意请求以及影藏服务器IP,还可以加快正常用户访问速度
获取真实IP
多地ping确定了某域名有CDN
通过子域名
由于配置原因,可能某些子域名没有设置CDN服务,而这些子域很可能与目标域名在同一IP上或者在同一C段(若在同一C段,获取子域IP后可以扫描C段,再修改hosts文件,来逐个确定哪个IP对应目标域名)
注意:某些网站可能通过中间件配置了不允许使用IP访问,所有要修改hosts文件的域名和ip的对应关系,这样来确定ip是否对应目标域名。因为输入域名会先到本地hosts文件找对应ip,再给DNS服务器
通过泄露或漏洞
通过配置文件泄露(如phpinfo)
通过漏洞(如SSRF这些)
不过感觉比较少这种方式
通过邮件
在邮件服务器和网站是同一ip情况下可以这样,所以查看邮件的源IP还需要验证IP是否对应目标域名(改hosts文件访问IP,也可以看看通过邮件找到的IP的地址和备案地址是否一致)
找一些让对方发邮件的功能(如找回密码、注册账号等)
DNS历史解析记录
看一下域名的注册起始时间,在刚开始可能没有CDN服务,找早期的DNS A解析记录,再加以验证
国外在线ping
通过在线网站,从国外节点ping域名可能返回真实ip,因为可能没有配置国外的CDN服务
网址:https://tools.ipip.net/cdn.php
也可以找一些在线的找真实IP网站,它们通过一些自己的逻辑判断真实IP(不过可能不准)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)