什么是CDN?

CDN:内容分发网络。是构建在现有的网络基础之上的智能虚拟网络,依靠部署咋各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。进行渗透或者安全测试时遇到CDN时会影响后续的过程。客户端就近原则跟最近的服务器节点进行交互

简单来说CDN就是为了提高访问网站的速度,还有异地备援(网站崩溃后能够迅速切换临近的节点进行服务)、保证网站安全。
图片说明

如何判断目标存在CDN服务?

利用多节点技术进行请求返回判断:超级ping

CDN对安全测试有哪些影响?

无论是服务器渗透还是DDOS攻击,攻击的目标都将是CDN节点,间接的保护了网站本身(像小丑的大招),如果需要找到真实的IP地址就需要绕过CDN。

目前常见的CDN绕过技术有哪些?

子域名查询:可能各级域名在同一IP或者网段https://chaziyu.com/
邮件服务查询:内部邮箱系统一般不会使用CDN
国外地址请求:为了节约成本一般都在国内部署CDN,国外访问可能就会直接得到真实IP地址
遗留文件,扫描全网:hack语法搜
黑暗引擎搜索特定文件:佛法,zoomeyes,shodan
DNS历史记录,以量打量

CDN真实IP地址获取后绑定指向地址

更改本地HOSTS解析指向文件

例子

1.利用子域名请求获取真实IP
2.利用国外地址请求获取真实IP
3.利用第三方接口查询获取真实IP
4.利用邮件服务器接口获取真实IP
5.利用黑暗引擎搜索特定文件获取IP地址(搜指定hash文件)

#python2环境
#获取文件的哈希值
import mmh3
import requests

response = requests.get('http://www.xx.com/favicon.ico')
response = reponse.content.encode('base64')
hash = mmh3.hash(favicon)
print 'http.favicon.hash:'+str(hash)

原理:python脚本通过请求网站获取.ico文件获取到文件的哈希值
然后shodan搜索文件的hash值,用网站的文件hash值相对应。

6.扫全网工具
***cdn,w8***cdn,zmap等

相关链接

https://www.shodan.io
https://x.threatbook.cn
http://ping.chinaz.com
https://www.get-site-ip.com/
https://asm.ca.com/en/ping.php
https://github.com/boy-hack/w8***cdn
https://github.com/Tai7sy/***cdn