最近的一些渗透测试目标好多都有CDN+WAF,烦得很,故特意为此开了一篇文章。

1、CDN与WAF

首先,我们要弄清楚什么是CDN,这里引用CDN老大哥Cloudflare的博客内容。

image.png

内容分发网络(Content Delivery Network,CDN)是一个分布在不同地理位置的服务器群,用于缓存靠近最终用户的内容。CDN可以快速传输加载互联网内容所需的资产,包括HTML网页、JavaScript文件、样式表、图像和视频。当今大部分Web流量都通过CDN传送,包括Facebook、Netflix和Amazon等主要网站的流量。

接着,我们要弄清楚什么是WAF,这里依旧引用Cloudfale的博客内容。

image.png

Web应用防火墙 (Web Application Firewall,WAF)会过滤和监测Web应用与互联网之间的HTTP流量,以此来保护Web应用安全。它通常会保护Web应用免受各种形式的攻击,例如cross-site forgery、Cross-site scripting (XSS)、文件包含以及 SQL注入等。WAF属于OSI模型中第7层防御策略,通过在Web应用前端部署WAF,可在Web应用与互联网之间形成一道屏障。虽然代理服务器通过中介保护客户机的身份,但WAF是一种反向代理,引导客户端通过WAF到达服务器,从而防止暴露服务器。

那么,CDN与WAF有啥关系呢?

现如今的CDN与WAF在一定程度上已经融合,CDN也成为网站保护的重要手段之一。从渗透测试角度看,查找CDN真实IP的意义在于绕过CDN的防护直接访问源站,从而获取更多原始服务器信息,包括操作系统类型、Web服务器版本、开放端口和应用服务配置等。

2、CDN绕过

下面介绍几种绕过CDN寻找真实IP的常见方法。

2.1 空间搜索引擎

前提条件:搜索引擎有收录,且IP正确。

通过Fofa、Quake、Shadon等网络空间搜索引擎,或一些其他的域名解析记录查找真实IP。

2.2 邮件服务

前提条件:网站有邮件服务,且邮件服务器是其自己搭建的。

一般是通过注册或找回密码等交互功能,提供自己邮箱,让对方向自己邮箱发邮件,查看邮件发送的服务器Ip。

2.3全网扫描

前提条件:网站支持IP访问。

通过IP库筛选某个厂商的IP段,再通过masscan扫描所有ip段,筛选出开放80或443端口的ip,最后通过httpx访问所有ip:port,筛选关键字。

2.4 子域名扫描

前提条件:部分子域名没有配置CDN

有些网站只会给主域名配置CDN,而忽略子域名。

2.5 全球Ping

前提条件:域名只给国内做了CDN,针对国外IP没做。

3、总结

当然,除了上述通用方法,还有一些针对个别网站的,如通过网站个别功能泄露网站IP等。

标签: CDN

添加新评论