第16天:信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件

第16天:信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件
Yatming的博客1 | 1.传统访问: 用户访问域名-->解析服务器ip-->访问目标主机 |
CDN的原理
- 静态资源缓存
CDN会将图片、CSS/JS文件等静态资源缓存到边缘节点,用户请求这些资源时直接由CDN响应,不会触达源服务器。 - 动态请求回源
对于未缓存的动态内容(如API接口、表单提交),CDN会将请求转发到源服务器处理,再返回给用户。
安全测试数据流向
1. 静态测试(如文件包含、目录遍历)
- 场景:测试CDN缓存的静态资源是否存在漏洞。
- 数据流向:
测试工具 → CDN边缘节点 → (若缓存)直接响应/(若未缓存)CDN回源 → 源服务器
- 结果:
- 若漏洞存在于静态资源(如未授权访问的JS文件),请求可能被CDN直接响应,不触达源服务器。
- 若CDN配置了WAF,可能拦截恶意请求。
2. 动态测试(如SQL注入、XSS)
- 场景:测试Web应用逻辑漏洞。
- 数据流向:
测试工具 → CDN边缘节点 → CDN回源 → 源服务器
- 结果:
- 请求通常需经过CDN到达源服务器,真实服务器会处理测试数据。
- 若CDN配置了WAF,可能拦截攻击向量(如
' OR 1=1 --
)。
3. 端口扫描/网络层测试
- 场景:使用Nmap扫描开放端口。
- 数据流向:
测试工具 → CDN节点IP(非源服务器真实IP)
- 结果:
- 扫描结果反映的是CDN节点的端口状态,无法直接探测源服务器。
- 需通过子域名枚举、历史DNS记录等手段获取真实IP后再扫描。
测试类型 | 数据流向 | 是否触达源服务器 | 风险点 |
---|---|---|---|
XSS测试 | 工具 → CDN → 源服务器 | ✅ 是 | WAF拦截导致误报 |
端口扫描 | 工具 → CDN节点IP | ❌ 否 | 无法探测真实服务 |
子域名劫持测试 | 工具 → DNS解析 → 源服务器 | ✅ 是 | 需谨慎操作,避免DDoS |
路径遍历 | 工具 → CDN(若未缓存)→ 源服务器 | ✅ 是 | 依赖CDN缓存策略 |
CDN配置
1 | 配置1: 加速域名--需要启用加速的域名 |
只配置主域名导致的配置不当
上图就是cdn加速之后的结果,就是会选择最近的一个节点给你提供服务.
下图就是配置不当,导致的,只配置了主域名进行CDN解析.
主动漏洞和遗留文件导致CDN绕过
SSRF漏洞: 就是当目标主机存在这个漏洞的时候, 你可以通过此漏洞让其主动访问你,从而获取目标的真实ip
遗留文件: 例子:phpinfo,里面会保存有本地ip地址,这个ip地址有几率是真实ip,有时候是内网ip,那么大概率是一台云主机, 我的博客就是腾讯云的主机,然后如果查看本地ip地址的话,就会是一个内网的ip地址.但是有的云平台查看本地ip的时候不会是内网ip,比如apache云.
通过邮件系统绕过CDN
同样是利用了服务主动联系你发包的原理
部署假设的邮件服务器,如果向外部用户发送邮件的话.
那么邮件头部的源码中会包含此邮件服务器的真实ip地址.
常见的邮件触发点:
- RSS订阅
- 邮箱注册,激活等
- 邮箱找回密码处
- 产品更新的邮件推送
- 某业务执行后发送的邮件通知
- 员工邮箱, 邮件管理平台等入口处忘记密码
骚操作
你给未知邮箱发:(需要自己的邮件服务不能第三方)
通过发送邮件给目标的一个不存在的邮箱地址, 因为该用户的邮箱不存在,所以发送失败,并且还会收到一个包含发送该电子邮件给你的服务器的真实ip通知.
真实案例–获取墨者靶场的真实ip地址
让墨者给你发送一封邮件:
显示邮件原文.
然后在通过ip查询地址:
然后查看对方的备案地址 :
感觉好像不对啊……
思考: 假设墨者靶场的邮件服务器是单独的一台服务器,没有和web服务器搭建在一起,获取这个真实ip的价值是否会大大降低呢???
存在的缺陷
1 | 如果对方使用第三方的邮件服务(网易邮箱,腾讯邮箱等等),那么这样操作就没有用,所以在利用邮件获取真实ip的时候要观察对方的邮件域名是否是自己搭建的,还是第三方搭建的. |
扫全网来获取真实ip
扫全网的流程
- 首先判断加速厂商
- IP库筛选地址段
- 配置范围扫描
判读加速厂商为: 阿里云
下载下图这个软件:
由于上面搜索出来的云厂商是阿里云,所以这里就扫所有阿里云厂商的云ip(所以这里的纯真ip就是单纯的获取对应厂商的所有ip)
这里需要使用项目进行跑
1 | 全网扫描:https://github.com/Tai7sy/fuckcdn #小迪上课用的 |
然后在配置网站中独有的关键字(一般推荐用网站标题title这个字段的内容),进行扫描:
ScanPort
配置要测试的端口, 这里的FindUrl
的参数是指你要扫描的域名,然后FindStr
是要搜索的关键字,如果有多个关键字可以用逗号隔开.
绕过CDN的常用方法:
1 | 子域名,邮件系统,国外访问,证书查询,APP 抓包,网络空间 , 通过漏洞或泄露获取,扫全网,以量打量,第三方接口查询等 |
参考知识点
1 | 超级 Ping:http://www.17ce.com/ |
1 | https://ping.chinaz.com/ |
1 | https://get-site-ip.com/ |
1 | https://fofa.info/extensions/source |
国内不准确,主要是因为如果查询到国内的真实ip,那么就会面临一个法律风险..
1 | https://tools.ipip.net/cdn.php |
1 | ttps://boce.aliyun.com/detect/ |
1 | https://www.cz88.net/geo-public |